力扣每日一题(今天的困难题,没有想到太好的方法,执行用时太久了)
题目: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;}
}