刷题5:每日温度

Leetcode: 739. 每日温度
要点:
【刷题5:每日温度】把数组下标压进栈,即将进栈的下标元素对应的温度如果比栈顶元素对应的温度高,则该元素为右边第一个比栈顶元素对应温度高的温度下标,该元素与栈顶元素下标之差即为需要等待的天数,其他元素采用相同做法,最终结果放在数组res中。

class Solution { public int[] dailyTemperatures(int[] T) { Stack st = new Stack(); int len = T.length; int[] res = new int[len]; Arrays.fill(res,0); for(int i = 0; i < len; i++){ while(!st.isEmpty() && T[st.peek()] < T[i]){ int index = st.peek(); int day = i - st.pop(); res[index] = day; } st.push(i); }return res; } }

    推荐阅读