关注
public class ExamTwo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// int cnt = Integer.parseInt(scanner.nextLine());
// String s = scanner.nextLine();
String s = "1,-1,7,3";
String[] ss = s.split(",");
int[] array = new int[ss.length];
for (int i = 0; i < ss.length; i ++) {
array[i] = Integer.parseInt(ss[i]);
}
func(array);
}
public static void func(int[] array) {
int maxDis = Integer.MIN_VALUE;
int totalDis = 0;
// 计算如果不去掉点的实际路程
for (int i = 1; i < array.length; i ++) {
totalDis += Math.abs(array[i] - array[i - 1]);
}
// 获取一个点,假设有A, B, C三个点,||AB| + |BC| - |AC||,其结果为0 or 正数,
// 而这个正数就是进过B点所要多走的路程
for (int i = 1; i + 1 < array.length; i ++) {
maxDis = Math.max(maxDis, Math.abs(array[i] - array[i - 1]) + Math.abs(array[i + 1] - array[i]) - Math.abs(array[i + 1] - array[i - 1]));
}
System.out.println(totalDis - maxDis);
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
30542次浏览 500人参与
# 如果有时光机,你最想去到哪个年纪? #
47141次浏览 800人参与
# 实习吐槽大会 #
32457次浏览 158人参与
# 非技术岗简历怎么写 #
209783次浏览 2861人参与
# 晒一晒你的工位 #
85823次浏览 304人参与
# 26届秋招投递记录 #
3840次浏览 106人参与
# 2025牛客秋招季 #
4265次浏览 131人参与
# 双非能在秋招上岸吗? #
215207次浏览 1142人参与
# 被AI治愈的瞬间 #
52331次浏览 597人参与
# 怎么防止在试用期被辞退 #
122338次浏览 911人参与
# 我的租房踩坑经历 #
27959次浏览 285人参与
# 穿越回高考你还会选现在的专业吗 #
21798次浏览 266人参与
# 我和mentor的爱恨情仇 #
43667次浏览 278人参与
# 打工人的工作餐日常 #
40449次浏览 343人参与
# 软开人,说说你的烦心事 #
48101次浏览 359人参与
# 毕业旅行去哪玩儿 #
1252次浏览 33人参与
# 硬件/芯片公司工作体验 #
75254次浏览 664人参与
# 商战,最累的是我们 #
13067次浏览 52人参与
# 打工人锐评公司红黑榜 #
146007次浏览 920人参与
# 25届秋招公司红黑榜 #
262171次浏览 1094人参与