首页 > 其他分享 >135. 分发糖果

135. 分发糖果

时间:2024-04-19 09:23:11浏览次数:17  
标签:分发 right int should current 135 糖果 than left

135. 分发糖果

https://leetcode.cn/problems/candy/description/?envType=study-plan-v2&envId=top-interview-150

 

Code

class Solution {
public:
    int candy(vector<int>& ratings) {
        int n = ratings.size();

        vector<int> left(n, 0);
        vector<int> right(n, 0);

        /*
        walk from left to right,
        if current rating increase than previous one, 
        then the current sweets should be one more than previous one,
        otherwise, the current sweet should be one
        */
        left[0] = 1;
        for(int i=1; i<n; i++){
            if (ratings[i] > ratings[i-1]){
                left[i] = left[i-1] + 1;
            } else {
                left[i] = 1;
            }
        }

        /*
        walk from right to left,
        if current rating increase than previous one, 
        then the current sweets should be one more than previous one,
        otherwise, the current sweet should be one
        */
        right[n-1] = 1;
        for(int i=n-2; i>=0; i--){
            if (ratings[i] > ratings[i+1]){
                right[i] = right[i+1] + 1;
            } else {
                right[i] = 1;
            }
        }

        /*
        for each positon, 
        the deserved sweets should be met by rule:
        greater than left and greater than right
        */
        int ans = 0;
        for(int i=0; i<n; i++){
            ans += max(left[i], right[i]);
        }

        return ans;
    }
};

 

标签:分发,right,int,should,current,135,糖果,than,left
From: https://www.cnblogs.com/lightsong/p/18145082

相关文章

  • App内测分发是什么意思?内测方式有哪些?
    App内测分发是软件开发流程中的一个重要环节,主要目的是在正式发布前,将尚未公开的应用程序版本分发给特定的测试用户,以获取反馈并发现和修复潜在的问题。内测分发有助于确保应用的质量和用户体验,并减少在正式发布后可能遇到的bug或性能问题。具体来说,App内测分发的方式可以细分为......
  • 力扣经典150题第十五题:分发糖果
    目录力扣经典150题第十五题:分发糖果1.题目描述2.问题分析3.解题思路4.代码实现5.时间复杂度分析6.应用和扩展7.总结8.参考资料力扣经典150题第十五题:分发糖果1.题目描述n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下......
  • Teamcenter 流程配置实现《部分发布功能附件》
    Teamcenter流程实现部分发布附件功能效果配置EPM-remove-objects描述从工作流程中移除指定的目标或引用对象。该处理程序可以使用一组参数来定义要移除或保留的对象,也可以使用值列表(LOV)来定义要移除的对象类型列表。-include_replica参数会保留或移除副本建议目标......
  • 敌人——创建敌人135
    目标创建敌人135的子行为树并创建一个BTT(范围内随机巡逻)在Enemy父级蓝图创建检测事件在敌人135的子蓝图中创建射击事件思路使用射线检测来制作感知系统而非感知系统没有主要使用行为树来制作AI逻辑,逻辑由父级蓝图和子蓝图和Task之间的互相调用形成一般来说不推荐这种做法......
  • 2024年4月8日-UE5-开始菜单、事件分发器、UI预构造
    做个简单的菜单在主页面这里新建一个地图,按CTRL+N 把地面复制过来在开始关卡新建一个摄像机 打开关卡蓝图,先左键选中摄像机,然后在关卡蓝图里点右键,把摄像机拖下来   在UI里新建一个用户控件 再新建一个通用按钮 打开按钮的控件蓝图拖一个按钮进来 然......
  • 可以奖励几个糖果
    看了C练习的第二个示例,写一个C语言入门随笔。如你的写字桌上正好有一台微软surface4平板电脑,其上运行的是win10系统,怎么快速运行一个写好的C语言程序呢,照着流程做就可以哦。首先,打开cmd命令行窗口,哪一个?就是桌面上的黑色图标,和彩色的图标看起来很不一样哦桌面上怎么没找到呢?......
  • P8687 [蓝桥杯 2019 省 A] 糖果
    原题链接题解二进制表示每包糖果包含的味道,因为有一种拼接的感觉,然后背包dp,注意这里每个材料不止只能取一个code#include<bits/stdc++.h>usingnamespacestd;intdp[1<<22]={0},candy[105]={0};constintinf=2e9;intmain(){intn,m,k;cin>>n>>m>>k;......
  • 分发饼干(力扣455)
    文章目录题目贪心算法思想概述关键要素解题步骤优缺点优点缺点应用领域题解一、思路二、解题方法三、Code总结题目Problem:455.分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g......
  • 代码随想录 Day34 贪心算法 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
    1005.K次取反后最大化的数组和 classSolution{public:intlargestSumAfterKNegations(vector<int>&nums,intk){sort(nums.begin(),nums.end());intsum=0;inti=0;while(k>0){nums[i]=0-nums[i]......
  • 什么是App分发?那些分发平台可以选择?
    App分发指的是将开发完成的应用程序(App)推广和发布到用户可以下载和安装的渠道,以达到更广泛的用户群体,提高应用的知名度和受欢迎程度。这个过程对于开发者来说至关重要,因为它是推广和营销的重要手段之一。App分发的意义在于,让用户能够方便地找到、下载和使用自己需要的App。通过分......