阿里测开笔试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);
        }
    }
}




#笔试题目##阿里巴巴#
全部评论
可以发下第二题是什么吗?
点赞 回复 分享
发布于 2020-08-14 23:41
我也是这天考的测开,为啥和你题目不一样呢
点赞 回复 分享
发布于 2020-08-20 18:49

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
2 5 评论
分享
牛客网
牛客企业服务