题目每日温度 点击跳转文章目录题目描述暴力超时单调栈核心思路Stack用到的方法入栈出栈看栈顶是否为空正确解答题目描述暴力超时classSolution{publicint[]dailyTemperatures(int[]temperatures){int[]answernewint[temperatures.length];for(inti0;itemperatures.length;i){for(intji1;jtemperatures.length;j){if(temperatures[j]temperatures[i]){answer[i]j-i;//核心break;}}}returnanswer;}}单调栈找右边第一个比当前元素大的元素核心思路栈里保存的是还没有找到更高温度的天的下标当今天的温度 temperatures[i] 比栈顶那天更高时说明今天就是栈顶那天等到的更高温度当前温度比栈顶那天高 → 说明那天终于等到了更高温度Stack用到的方法入栈stack.push(i)//把下标 i 放进栈里出栈stack.pop()//把栈顶元素取出来并删除看栈顶stack.peek()//查看栈顶元素但不删除是否为空stack.isEmpty()//判断栈是不是空的正确解答classSolution{publicint[]dailyTemperatures(int[]temperatures){intntemperatures.length;int[]answernewint[n];StackIntegerstacknewStack();//放下标for(inti0;in;i){while((!stack.isEmpty())(temperatures[i]temperatures[stack.peek()])){intjstack.pop();answer[j]i-j;}stack.push(i);}returnanswer;}}