力扣每日一题:2454. 下一个更大元素 IV(2023-12-12)
2023-12-15 15:55:05
力扣每日一题(今天的困难题,没有想到太好的方法,执行用时太久了)
题目:2454. 下一个更大元素 IV
日期:2023-12-12
用时:35 m 09 s
时间:614ms
内存:57.18MB
代码:
class Solution {
public int[] secondGreaterElement(int[] nums) {
int[] res = new int[nums.length];
Arrays.fill(res, -1);
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
while (!list2.isEmpty() && nums[list2.get(list2.size() - 1)] < nums[i]) {
res[list2.get(list2.size() - 1)] = nums[i];
list2.remove(list2.size() - 1);
}
int j = list1.size();
for(;j>0;j--){
if(nums[list1.get(j - 1)] >= nums[i]){
break;
}
}
while (j<list1.size()) {
list2.add(list1.get(j));
list1.remove(j);
}
list1.add(i);
}
return res;
}
}
文章来源:https://blog.csdn.net/huangge1199/article/details/134947968
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!