分糖果编程

这是一道关于编程的智力题,目标是为一群具有不同rating值的小孩分配糖果,使得每个小孩至少得到一个糖果,并且rating值较高的小孩比其邻居得到更多糖果。例如,当ratings数组为{1, 2, 2, 2, 3, 2, 1}时,最少需要11个糖果来满足条件。" 118879756,11046258,虚拟机中Linux安装与网络配置指南,"['虚拟化技术', 'Linux系统', '网络连接']
摘要由CSDN通过智能技术生成

题目:

有N个小孩子,他们都有一个rating值,小孩子站成一排,这时候rating值按顺序放入到数组中, 主人公要给N个小孩子发糖果,但是又抠门,想要尽量最少的糖果被发出!要满足如下两个条件:

1、每个孩子最少都要有一个糖果
2、拥有比较高的rating值的孩子要比自己身边的孩子得到的糖果多
如:ratings = {1,2,2,2,3,2,1}; 我们最少要分配的糖果candys = {1,2,1,1,3,2,1} = 11个糖果

Input:{1,2,2,2,3,2,1};
Expected: 11

Input:  [1,2,4,4,3]
Expected: 9

input:[1,2,2]
Expected: 4


程序:

#include<stdio.h>
#include<stdlib.h>
#includ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值