leetcode-分糖果问题-84

Posted 天津 唐秙

tags:

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

题目要求

代码实现

#include <math.h>
class Solution 
public:
    int candy(vector<int>& arr) 
        vector<int> num(arr.size(), 1);
        int count = 0;
        //从左到右遍历,保证右边如果大于左边,右边糖果也多于左边
        for(int i = 1; i < arr.size(); i++)
        
            if(arr[i] > arr[i - 1])
            
                num[i] = num[i - 1] + 1;
            
        
        //从右往左遍历,保证左边如果大于右边,左边糖果也多于右边
        for(int i = arr.size() - 1; i > 0; i--)
        
            if(arr[i - 1] > arr[i])
            
                num[i - 1] = max(num[i] + 1, num[i - 1]);
            
        
        //计数
        for(auto i : num)
        
            count += i;
        
        return count;
    
;

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

《LeetCode之每日一题》:196.分糖果

LeetCode之小孩分糖果

LeetCode分发糖果系列问题(IIIIII)

LeetCode 1103. Distribute Candies to People (分糖果 II)

[LeetCode] 1103. Distribute Candies to People 分糖果

LeetCode 5219. 每个小孩最多能分到多少糖果