Leetcode 739. Daily Temperatures

简单题,梳理一下相邻两数之间的关系就行.

class Solution(object):
    def dailyTemperatures(self, T):
        """
        :type T: List[int]
        :rtype: List[int]
        """       
        size=len(T) 
        dp=[x*0 for x in range(size)]

        for i in range(size-2,-1,-1):
            if T[i]==T[i+1]:
                if dp[i+1]==0:
                    dp[i]=0
                else:
                    dp[i]=dp[i+1]+1
            elif T[i]<T[i+1]:
                dp[i]=1
            else:
                if dp[i+1]==0:
                    dp[i]=0
                else:
                    j=dp[i+1]+i+1
                    while j<size:
                        if T[i]<T[j]:
                            dp[i]=j-i
                            break
                        elif T[i]==T[j]:
                            if dp[j]==0:
                                dp[i]=0
                            else:
                                dp[i]=dp[j]+j-i
                            break
                        else:
                            if dp[j]==0:
                                dp[i]=0
                                break
                            else:
                                j = dp[j] + j
        return dp

 

posted @ 2019-03-14 07:16  周洋  阅读(200)  评论(0编辑  收藏  举报