leetcode(135)分发糖果

Posted erdanyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode(135)分发糖果相关的知识,希望对你有一定的参考价值。

分发糖果

解题思路:贪心算法、两次遍历

class Solution 
    public int candy(int[] ratings) 
        int len = ratings.length;
        if(len==0)
            return 0;
        
        int[] cands = new int[len];
        for(int i=0;i<len;i++)
            cands[i] = 1;
        
        for(int i=0;i<len-1;i++)
            if(ratings[i+1]>ratings[i]&&cands[i+1]<=cands[i])
               cands[i+1]=cands[i]+1; 
            
        
        for(int i=len-1;i>0;i--)
            if(ratings[i-1]>ratings[i]&&cands[i-1]<=cands[i])
               cands[i-1]=cands[i]+1; 
            
        
        int sum = 0;
        for(int i=0;i<len;i++)
            sum += cands[i];
        
        return sum;
    

 

以上是关于leetcode(135)分发糖果的主要内容,如果未能解决你的问题,请参考以下文章

leetcode(135)分发糖果

Leetcode No.135 分发糖果(贪心)

Leetcode No.135 分发糖果(贪心)

LeetCode第135题—分发糖果—Python实现

贪心算法——leetcode135.分发糖果

leetcode困难135分发糖果