0
点赞
收藏
分享

微信扫一扫

计算机组成原理-主存储器与CPU的连接

古得曼_63b6 2023-11-21 阅读 50

前言

LeetCode T503 下一个最大元素II

题目链接:503. 下一个更大元素 II - 力扣(LeetCode)

题目思路:

题目代码:

class Solution {
public int[] nextGreaterElements(int[] nums) {
int[] res = new int[nums.length];
Arrays.fill(res,-1);
Stack<Integer> st = new Stack<>();
st.push(0);
for(int i = 0;i<2*nums.length;i++){
int k = i%nums.length;
if(nums[k]<=nums[st.peek()]){
st.push(k);
}else{
while(!st.isEmpty() && nums[k]>nums[st.peek()]){
res[st.peek()] = nums[k];
st.pop();
}
st.push(k);
}

}
return res;


}
}

LeetCode T42 接雨水

题目链接:42. 接雨水 - 力扣(LeetCode)

题目思路:

题目代码:

class Solution {
public int trap(int[] height) {
if(height.length<=2){
return 0;
}
int sum = 0;
Stack<Integer> st = new Stack<>();
st.push(0);
for(int i = 1;i<height.length;i++){
if(height[i]<=height[st.peek()]){
st.push(i);
}else{
while(!st.isEmpty() && height[i]>height[st.peek()]){
int tmp = st.peek();
st.pop();
if(!st.isEmpty()){
int h = Math.min(height[i],height[st.peek()])-height[tmp];
int w = i-st.peek()-1;
sum += h*w;
}

}
st.push(i);

}
}
return sum;

}
}
举报

相关推荐

0 条评论