iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
自我挑戰組

leetcode題目分享系列 第 13

[Day 13] 135. Candy

  • 分享至 

  • xImage
  •  

今天忙社博,之後補解釋~

class Solution {
public:
    int candy(vector<int>& ratings) {
        int n = ratings.size();
        int candy = n;
        int i = 1;
        while(i < n){
            if(ratings[i] == ratings[i - 1]){
                i++;
                continue;
            }

            int peak = 0;
            while(ratings[i] > ratings[i - 1]){
                peak++;
                candy += peak;
                i++;
                if(i == n){
                    return candy;
                }
            }

            int valley = 0;
            while(i < n && ratings[i] < ratings[i - 1]){
                valley++;
                candy += valley;
                i++;
            }
            candy -= min(peak, valley);
        }
        return candy;
    }
};

上一篇
[Day 12] 1647. Minimum Deletions to Make Character Frequencies Unique
下一篇
[Day 14] 332. Reconstruct Itinerary
系列文
leetcode題目分享30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言