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%