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 1103. Distribute Candies to People (分糖果 II)