R8-栈篇
印象题:单调栈的使用
参考本人博客:单调栈
class Solution {public int[] dailyTemperatures(int[] temperatures) {int num=temperatures.length;int [] ret=new int[num];Stack<Integer>st=new Stack<>();for (int i=0;i<num;i++){while(!st.isEmpty()&&temperatures[i]>temperatures[st.peek()]){int j=st.pop();ret[j]=i-j;}st.push(i);}return ret;}
}
PS:
java语法
1.定义数组
java">int [] ret=new int[num];
2.定义栈
java">Stack<Integer>st=new Stack<>();
3.取栈顶元素
java">stack.peek()