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中的异常处理
Apr 28 Python
Python中subprocess模块用法实例详解
May 20 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
Python实现将SQLite中的数据直接输出为CVS的方法示例
Jul 13 Python
Python基于最小二乘法实现曲线拟合示例
Jun 14 Python
python 对key为时间的dict排序方法
Oct 17 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
Python实现的各种常见分布算法示例
Dec 13 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
python线性插值解析
Jul 05 Python
Python如何telnet到网络设备
Feb 18 Python
Django实现翻页的示例代码
May 24 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
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
Python脚本实现虾米网签到功能
2016/04/12 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Pycharm保存不能自动同步到远程服务器的解决方法
2019/06/27 Python
Python的缺点和劣势分析
2019/11/19 Python
python 变量初始化空列表的例子
2019/11/28 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Python更换pip源方法过程解析
2020/05/19 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
中国央视网签名寄语
2014/01/18 职场文书
教育学习自我评价
2014/02/03 职场文书
公司委托书怎么写
2014/08/02 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python