博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法10-----分糖果
阅读量:6266 次
发布时间:2019-06-22

本文共 963 字,大约阅读时间需要 3 分钟。

1、题目:

N个孩子在队伍中,每个孩子都有一定的等级值,相邻两个孩子等级高的拿到的糖果数量要比等级低的多,且每个孩子至少有一个糖果,所以最少队伍一共需多少糖果。

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?

如:输入:【5,4,1,1】,输出:7           【因为【3,2,1,1】和为7】

输入:[8,7,1,2,3,4,3,2,1,6,4,9],输出:26      【因为【3,2,1,2,3,4,2,1,2,1,2】和为26】

 

2、思路,

先创建一个全为1的长度为孩子数的列表list_value,从左往右遍历等级列表list_num,若右边等级比左边等级大,则右边值为左边值+1。再从右往左遍历等级列表,若左边等级比右边等级大且左边值比右边值小,则左边值等于右边值+1。

3、代码:

def candy(list_num):    list_value=[1]*len(list_num)    for i,j in enumerate(list_num):        if i==len(list_num)-1:            break        if j
=list_value[i+1]: list_value[i+1]=list_value[i]+1 sum=0 for i in list_value: sum+=i return sum

 

转载于:https://www.cnblogs.com/Lee-yl/p/8967302.html

你可能感兴趣的文章
常用css和js组件
查看>>
HDU-4528 小明系列故事——捉迷藏 BFS模拟
查看>>
〖Android〗/system/etc/event-log-tags
查看>>
深入浅出 JavaScript 变量、作用域和内存 v 0.5
查看>>
Jquery 选择器大全 【转载】
查看>>
Java 之设计模式(总述)
查看>>
第二篇:zc706 基本外设及usb DEVICE模式测试过程
查看>>
数据集划分——train set, validate set and test set
查看>>
《大话设计模式》读书笔记-第7章 代理模式
查看>>
自定义类似@Required功能的注解
查看>>
多项式学习笔记
查看>>
jquery 随笔
查看>>
ElasticSearch集群安装配置
查看>>
区间调度问题
查看>>
Maven学习总结(14)——Maven 多模块项目如何分工?
查看>>
python 参数
查看>>
linux 源码安装详解
查看>>
字符压缩题目
查看>>
frog-jump
查看>>
js实例:验证只能输入数字和一个小数点
查看>>