关注
最后一道算法题的Java代码,大佬轻喷
public class _1找出数组中比左边大比右边的小的元素 {
public static void main(String[] args) {
int[] arr = new int[]{2, 3, 1, 8, 9, 20, 12};
method(arr);
}
public static void method(int[] arr) {
int len = arr.length;
int[] rightMin = new int[len];
// 将最后一个元素初始划为最小元素
int curMin = arr[len - 1];
// 从倒数第二个开始计算
for (int i = len - 2; i >= 0; i--) {
rightMin[i] = curMin;
// 如果当前值比最小值小,就对curMin进行更新
if (arr[i] < curMin)
curMin = arr[i];
}
// 然后从左向右找每个元素的左边最大值
int[] leftMax = new int[len];
int curMax = arr[0];
// 第一个和最后一个元素不计入结果
for (int i = 1; i < len - 1; i++) {
if (arr[i] > curMax) {
if (arr[i] < rightMin[i]) {
System.out.print(arr[i] + " ");
}
// 不要忘记更新最大值
curMax = arr[i];
}
}
}
}
查看原帖
2 1
相关推荐
查看3道真题和解析 点赞 评论 收藏
分享
04-27 15:05
北京理工大学 golang 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你以为的实习VS真实的实习 #
168799次浏览 944人参与
# 妈妈治愈了你哪些脆皮时刻 #
52594次浏览 420人参与
# 我的实习日记 #
4206406次浏览 33448人参与
# 第一次找实习,我建议__ #
92884次浏览 941人参与
# 硬件/芯片校招攻略 #
22766次浏览 310人参与
# 文远知行求职进展汇总 #
7654次浏览 43人参与
# 从mentor身上学到了__ #
69770次浏览 959人参与
# 你觉得mentor喜欢什么样的实习生 #
66120次浏览 1100人参与
# 跳槽时有那些注意事项 #
146532次浏览 607人参与
# 工作两年想退休了 #
288111次浏览 2096人参与
# 拼多多工作体验 #
70660次浏览 468人参与
# 非技术岗是怎么找实习的 #
354479次浏览 2673人参与
# 牛客AI文生图 #
31901次浏览 321人参与
# 机械笔面试考察这些知识点 #
24212次浏览 172人参与
# 你遇到过哪些神仙同事 #
151070次浏览 782人参与
# 如果人间有后悔药 #
31982次浏览 529人参与
# 面试线索爆料 #
139237次浏览 718人参与
# 秋招提前批,你开始投了吗 #
778087次浏览 8533人参与
# 数字马力求职进展汇总 #
364763次浏览 2433人参与
# 牛客2025仙途报告 #
108823次浏览 638人参与