阿里编程题是人阅卷还是电脑阅卷

4-15这场笔试题真的脑壳疼,先是以为测试用例要自己写,耽搁了会,然后编辑器又给我出毛病,弄了半天我服了,最后心慌的做,然后list和arr又弄混了,顿时心态炸。
大概题就是给你n个数,然后求这个相邻两个差值最大值  比如说
输入4
3 6 2 9
输出
20    // |3-6|+|6-2|+|2-9|+|9-3| = 20
2 9 3 6
如果有多种情况输出一种情况即可。

Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int[] arr = new int[a];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
Arrays.sort(arr);
List<Integer> list = new ArrayList<Integer>();
int l=0,r=arr.length-1;
int sum = 0;
for (int i = 0; i < arr.length; i++) {
if(i%2 == 0) {
list.add(arr[l]);
l++;
}else {
list.add(arr[r]);
r--;
}
}
l = 1;
for (int i = 1; i < arr.length; i++) {
sum+=Math.abs(list.get(l)-list.get(l-1));   //这里本来该写 list的 我不知道哪根神经抽了 写的 arr[i] -arr[i-1]   运行半天不对
l++;
}
//特殊考虑
sum = sum+Math.abs((list.get(list.size()-1)-list.get(0))); //这里本来该写 list的 我不知道哪根神经抽了 写的 arr[i] -arr[i-1]   运行半天不对
System.out.println(sum);
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+" ");
}
有做过的同学帮忙看看我这样运行看看对吗
#阿里415笔试##阿里巴巴#
全部评论
怎么可能是人工阅卷呢
点赞 回复 分享
发布于 2020-04-15 18:03

相关推荐

争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 20:55
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务