[LintCode] Candy 分糖果问题

简介:

There are N children standing in a line. Each child is assigned a rating value.

You are giving candies to these children subjected to the following requirements:

  • Each child must have at least one candy.

  • Children with a higher rating get more candies than their neighbors.

What is the minimum candies you must give?

Example

Given ratings = [1, 2], return 3.

Given ratings = [1, 1, 1], return 3.

Given ratings = [1, 2, 2], return 4. ([1,2,1]).

LeetCode上的原题,请参见我之前的博客Candy

class Solution {
public:
    /**
     * @param ratings Children's ratings
     * @return the minimum candies you must give
     */
    int candy(vector<int>& ratings) {
        if (ratings.empty()) return 0;
        int res = 0, n = ratings.size();
        vector<int> dp(n, 1), dp2 = dp;
        for (int i = 1; i < n; ++i) {
            if (ratings[i] > ratings[i - 1]) dp[i] = dp[i - 1] + 1;
            else dp[i] = 1;
        }
        for (int i = n - 2; i >= 0; --i) {
            if (ratings[i] > ratings[i + 1]) dp2[i] = dp2[i + 1] + 1;
            else dp2[i] = 1;
        }
        for (int i = 0; i < n; ++i) {
            res += max(dp[i], dp2[i]);
        }
        return res;
    }
};

本文转自博客园Grandyang的博客,原文链接:分糖果问题[LintCode] Candy ,如需转载请自行联系原博主。

相关文章
|
SQL 数据库
SQL 中的 MIN 和 MAX 以及常见函数详解及示例演示
SQL中的MIN()函数和MAX()函数用于查找所选列的最小值和最大值,分别。以下是它们的用法和示例:
779 0
|
数据可视化 数据管理 API
详解空气质量查询API 使用
本文将介绍的 API 是用于查询中国境内3400多个城市的空气质量数据的接口。该API提供了指定城市的整点观测空气质量数据,包括空气质量指数、首要污染物、空气质量等级、6要素浓度等信息。这些数据可以用于制定健康计划、规划出行路线等。
849 0
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费习惯预测的深度学习模型
使用Python实现智能食品消费习惯预测的深度学习模型
388 19
|
传感器 安全 物联网
5G车联网技术:智能交通的未来
【10月更文挑战第26天】
609 1
|
数据采集 资源调度 搜索推荐
Flink在实时搜索引擎索引构建中的深度应用与实践
随着数据源规模的扩大和查询请求的增加,如何优化Flink的性能和资源调度成为了一个重要的问题。Flink提供了多种性能优化手段,如并行度调整、状态后端选择、任务链优化等。同时,Flink还支持与YARN、Kubernetes等集群管理系统集成,实现资源的动态调度和弹性伸缩,以适应不同规模的业务需求。
|
存储 数据库 数据安全/隐私保护
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
Windows系统部署AnyTXT Searcher并实现远程搜索本地内网设备中文件
|
供应链 数据挖掘 API
淘宝API接口系列:数据分析丨Erp上货丨维权控价丨商品搬家丨店铺订单管理
淘宝API接口系列在多个方面为电商业务提供了强大的支持,包括数据分析、ERP上货、维权控价、商品搬家以及店铺订单管理。下面将针对这些方面逐一进行说明。
|
人工智能
AI绘画——ControlNet扩展安装教程
AI绘画——ControlNet扩展安装教程
2470 0
|
数据安全/隐私保护 iOS开发 开发者
[苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
[苹果APP上架]ios App Store上架详细教程-一条龙顺滑上架-适合小白
|
API 芯片
STM32CubeMX + STM32F1系列开发时遇到的四个问题及解决方案分享
STM32CubeMX + STM32F1系列开发时遇到的四个问题及解决方案分享
546 0