- 作者:老汪软件技巧
- 发表时间:2024-01-01 08:00
- 浏览量:
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言 一、力扣739. 每日温度
class Solution {
public int[] dailyTemperatures(int[] temperatures) {
int[] res = new int[temperatures.length];
Deque deq = new ArrayDeque<>();
deq.offerLast(0);
for(int i = 1; i < res.length; i ++){
if(temperatures[i] <= temperatures[deq.peekLast()]){
deq.offerLast(i);
}else{
while(!deq.isEmpty()&&temperatures[i] > temperatures[deq.peekLast()]){
int index = deq.pollLast();
res[index] = i - index;
}
deq.offerLast(i);
}
}
return res;
}
}
二、力扣496. 下一个更大元素 I
class Solution {
public int[] nextGreaterElement(int[] nums1, int[] nums2) {
int[] res = new int[nums1.length];
Arrays.fill(res, -1);
Deque deq = new ArrayDeque<>();
Map map = new HashMap<>();
for(int i = 0; i < nums1.length; i ++){
map.put(nums1[i],i);
}
deq.offerLast(0);
for(int i = 1; i < nums2.length; i ++){
if(nums2[i] <= nums2[deq.peekLast()]){
deq.offerLast(i);
}else{
while(!deq.isEmpty() && nums2[i] > nums2[deq.peekLast()]){
int index = deq.pollLast();
if(map.containsKey(nums2[index])){
int value = map.get(nums2[index]);
res[value] = nums2[i];
}
}
deq.offerLast(i);
}
}
return res;
}
}
上一个接口自动化测试 —— 工具、请求与响应
下一个【每日一题】找出数组的串联值
相关文章