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 16进制与中文相互转换的实现方法
Jul 09 Python
对python的输出和输出格式详解
Dec 08 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
python自动下载图片的方法示例
Mar 25 Python
python将unicode和str互相转化的实现
May 11 Python
django为Form生成的label标签添加class方式
May 20 Python
Python 如何定义匿名或内联函数
Aug 01 Python
基于python模拟bfs和dfs代码实例
Nov 19 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 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
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
js简易namespace管理器 实例代码
2013/06/21 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JS实现侧悬浮浮动实例代码
2013/11/29 Javascript
JQuery的ON()方法支持的所有事件罗列
2015/02/28 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
Python2.x版本中maketrans()方法的使用介绍
2015/05/19 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
对Python 数组的切片操作详解
2018/07/02 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
python读写csv文件方法详细总结
2019/07/05 Python
django2笔记之路由path语法的实现
2019/07/17 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
keras 自定义loss层+接受输入实例
2020/06/28 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
财务总经理岗位职责
2014/02/16 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
市场营销毕业求职信
2014/08/07 职场文书
实习生矿工检讨书
2014/10/13 职场文书
2014年村委会工作总结
2014/11/24 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL