首页 > 其他 > 详细

LeetCode0739.每日温度

时间:2020-06-11 11:53:33      阅读:32      评论:0      收藏:0      [点我收藏+]

题目要求

技术分享图片

 

 

 

算法分析

利用栈解决.

按索引遍历{

  如果栈为空,将索引入栈,

  如果栈不空,判断,当前索引对应的温度是否比栈顶索引对应的温度高,{

    如果高则出栈,并计算索引差,所得结果存入返回数组对应的索引上,然后返回上一步重新比较栈顶元素和当前元素的大小

    如果低则入栈。

  }

}

代码展示(C#

public class Solution {
    public int[] DailyTemperatures(int[] T) {
        int[] ret = new int[T.Length];
        Stack<int> stack = new Stack<int>();

        for(int i = 0; i < T.Length; i++){
            while(stack.Count != 0 && T[stack.Peek()]<T[i]){
                int temp = stack.Pop();
                ret[temp] = i-temp;
            }
            stack.Push(i);
        }

        return ret;
    }
}

 

提交结果

技术分享图片

 

LeetCode0739.每日温度

原文:https://www.cnblogs.com/KingR/p/13091921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!