阿里测开笔试8.14
只A了第一道,第二道题都读不懂,许愿能进面试啊
题目:矩阵中的每个数加上最少个d,使得矩阵的所有元素相等,如果不存在,输出-1
2 1 //输入N,d 1 2 //表示下面的矩阵为N*N 3 4
输出:3+2+1=6
2 2 //输入N,d 1 2 //表示下面的矩阵为N*N 3 4输出:-1
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
long d = in.nextLong();
long[] arr = new long[n*n];
for (int i = 0; i < n*n; ++i) {
arr[i] = in.nextLong();
}
Arrays.sort(arr);
long max = arr[n*n-1];
long count = 0L;
boolean flag = true;
for (int i = 0; i < n*n; ++i) {
if ((max-arr[i])%d==0L) {
count += (max-arr[i])/d;
} else {
flag = false;
break;
}
}
if (flag == true) {
System.out.println(count);
} else {
System.out.println(-1);
}
}
}
查看30道真题和解析