360秋招技术岗编程题
T1
import java.util.Scanner;
public class A {
Scanner scanner = new Scanner(System.in);
void solve(){
int n = scanner.nextInt();
long x=0,y=0;
long x1 = 1000000000;
long x2 = -x1;
long y1 = x1;
long y2 = x2;
for(int i=0;i<n;i++){
x = scanner.nextLong();
y = scanner.nextLong();
x1 = Math.min(x1,x);
x2 = Math.max(x2,x);
y1 = Math.min(y1,y);
y2 = Math.max(y2,y);
}
long ans = Math.max(Math.abs(x1-x2),Math.abs(y1-y2));
System.out.println(ans*ans);
}
public static void main(String[] args) {
new A().solve();
}
}
T2: 暴力前缀和
import java.util.Scanner;
public class B {
Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
new B().solve();
}
private void solve() {
int n,m;
n = scanner.nextInt();
m =scanner.nextInt();
int dp[][] = new int[n+1][m+1];
for(int i=1;i<=n;i++){
int x = scanner.nextInt();
dp[i][x]++;
for(int j=1;j<=m;j++)dp[i][j]+=dp[i-1][j];
}
int q = scanner.nextInt();
while(q-->0){
int l = scanner.nextInt();
int r = scanner.nextInt();
int ans = 0;
for(int i=1;i<=m;i++){
if(dp[r][i]-dp[l-1][i]>0)ans++;
}
System.out.println(ans);
}
}
}
T3: 嗯.... 样例没模拟出来,,题目没说是否连续还是非连续 非连续感觉答案是4 连续又只能过第一个样例 18%
