本文主要是介绍代码随想录训练营第57天| 739. 每日温度、496.下一个更大元素 I,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
739. 每日温度
题目链接:739. 每日温度 - 力扣(LeetCode)
class Solution {public int[] dailyTemperatures(int[] temperatures) {int len = temperatures.length;int[] ans = new int[len];Deque<Integer> dq = new ArrayDeque<Integer>();for(int i = 0; i < len; ++i) {if(dq.isEmpty()) {dq.addLast(i);}else {while(!dq.isEmpty() && temperatures[dq.getLast()] < temperatures[i]) {int a = dq.pollLast();ans[a] = i - a;}dq.addLast(i);}}return ans;}
}
496.下一个更大元素 I
题目链接:496. 下一个更大元素 I - 力扣(LeetCode)
class Solution {public int[] nextGreaterElement(int[] nums1, int[] nums2) {HashMap<Integer,Integer> map = new HashMap<>();int[] ans = new int[nums1.length];Deque<Integer> dq = new ArrayDeque<>();for(int i = 0; i < nums1.length; ++i) {map.put(nums1[i], i);ans[i] = -1;}for(int i : nums2) {if(dq.isEmpty()) {dq.addLast(i);}else {while(!dq.isEmpty() && i > dq.peekLast()) {int a = dq.pollLast();if(map.containsKey(a)) {ans[map.get(a)] = i;}}dq.offerLast(i);}}return ans;}
}
这篇关于代码随想录训练营第57天| 739. 每日温度、496.下一个更大元素 I的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!