关注
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);
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 面试问题记录 #
59993次浏览 873人参与
# 硬件人的简历怎么写 #
254174次浏览 2884人参与
# 京东TGT #
47294次浏览 174人参与
# 你遇到过哪些神仙同事 #
71553次浏览 641人参与
# 我的2024小目标 #
57932次浏览 390人参与
# 工作中,你有没有遇到非常爱骂人的领导? #
16859次浏览 126人参与
# 百度工作体验 #
204620次浏览 1907人参与
# 实习生应该准时下班吗 #
201425次浏览 1314人参与
# 上班到公司第一件事做什么? #
37701次浏览 347人参与
# 国企和大厂硬件兄弟怎么选? #
119960次浏览 1656人参与
# 工作一周年分享 #
18979次浏览 111人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
104221次浏览 1075人参与
# 面试吐槽bot #
13902次浏览 87人参与
# 互联网行业现在还值得去吗 #
6230次浏览 42人参与
# 面试经验谈 #
38602次浏览 505人参与
# 拼多多工作体验 #
16564次浏览 152人参与
# 入职第五天,你被拉进了几个工作群 #
17737次浏览 80人参与
# 假如我穿越到了妈妈的18岁 #
6084次浏览 43人参与
# 国企vs私企,你更想去? #
217301次浏览 2071人参与
# 你们的毕业论文什么进度了 #
999129次浏览 9398人参与
# 机械人,你的第一份感谢信是谁给的 #
26626次浏览 296人参与