Python实现的基于优先等级分配糖果问题算法示例


Posted in Python onApril 25, 2018

本文实例讲述了Python实现的基于优先等级分配糖果问题算法。分享给大家供大家参考,具体如下:

问题:

有n个人,每个人有一定的优先等级,等级高的人要比身边等级低得人得到的多,每个人都不会分不到

思路:

可以采用两头遍历的方法,顺序遍历保证等级高的人会比左边的人多,倒序遍历可以保证等级高的人比右边的人多

下面是具体实现:

#!usr/bin/env python
#encoding:utf-8
'''''
__AUthor__:沂水寒城
功能:分糖果
'''
def split_candy(rank_list):
  '''''
  '''
  length=len(rank_list)
  candy_list=[1]*length
  for i in range(length-1):
    if rank_list[i]<rank_list[i+1]:
      candy_list[i+1]=candy_list[i]+1
  for i in range(length-1,0,-1):
    if rank_list[i-1]>rank_list[i] and candy_list[i-1]<=candy_list[i]:
      candy_list[i-1]+=candy_list[i]
  print sum(candy_list)
  print '优先级为:', rank_list
  print '分得的糖果为:', candy_list
if __name__ == '__main__':
  print "三水点靠木测试结果:"
  rank_list=[2,3,4,8,1,5,6]
  split_candy(rank_list)

结果如下:

Python实现的基于优先等级分配糖果问题算法示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 实现堆排序算法代码
Jun 05 Python
python备份文件以及mysql数据库的脚本代码
Jun 10 Python
c++生成dll使用python调用dll的方法
Jan 20 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
对Python 内建函数和保留字详解
Oct 15 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
Python 实现数据结构中的的栈队列
May 16 Python
详解Python中的分支和循环结构
Feb 11 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
Python基础详解之邮件处理
Apr 28 Python
TensorFlow的自动求导原理分析
May 26 Python
python3中apply函数和lambda函数的使用详解
Feb 28 Python
python自动登录12306并自动点击验证码完成登录的实现源代码
Apr 25 #Python
PyQt5实现拖放功能
Apr 25 #Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
Apr 25 #Python
wxPython实现窗口用图片做背景
Apr 25 #Python
django 发送手机验证码的示例代码
Apr 25 #Python
python3+PyQt5实现自定义分数滑块部件
Apr 24 #Python
详解tensorflow载入数据的三种方式
Apr 24 #Python
You might like
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
php调用KyotoTycoon简单实例
2015/04/02 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
jquery 年会抽奖程序
2011/12/22 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
基于Django用户认证系统详解
2018/02/21 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
工作疏忽检讨书
2014/01/25 职场文书
网络编辑求职信
2014/04/30 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
医学生自荐信范文
2015/03/05 职场文书
小型婚礼主持词
2015/06/30 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
解决redis批量删除key值的问题
2022/03/23 Redis