满帮10.11笔试,第一题为什么为0
代码如下,感觉应该是对的,但是一直是0分,非常疑惑。。。
import java.util.Scanner;
/**
* Create by zekdot on 2022/9/19.
*/
public class Main {
public int solution(int n, int[] a, int[] b) {
// 求出最大苹果数量,最大糖果数量
int maxA = 0, maxB = 0;
for (int i = 0; i < n; i ++) {
maxA = Math.max(maxA, a[i]);
maxB = Math.max(maxB, b[i]);
}
int res = 0;
for (int i = 0; i < n; i ++) {
// 以苹果为基准进行放置
if (a[i] < maxA) {
if (b[i] < maxB) {
// 糖果和苹果都不够
res += Math.max(maxA - a[i], maxB - b[i]);
} else {
// 只需要关心苹果
res += maxA - a[i];
}
} else {
// 只需要关注糖果
res += maxB - b[i];
}
}
return res;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Main main = new Main();
int T = scanner.nextInt();
while (T -- > 0) {
int n = scanner.nextInt();
int[] a = new int[n], b = new int[n];
for (int i = 0; i < n; i ++) {
a[i] = scanner.nextInt();
b[i] = scanner.nextInt();
}
System.out.println(main.solution(n, a, b));
}
scanner.close();
}
}
查看28道真题和解析
