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中使用正则表达式的连接符示例代码
Oct 10 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
Python for循环中的陷阱详解
Jul 13 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Python把图片转化为pdf代码实例
Jul 28 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
GitHub上值得推荐的8个python 项目
Oct 30 Python
python集合的新增元素方法整理
Dec 07 Python
python opencv通过4坐标剪裁图片
Jun 05 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模拟socket一次连接,多次发送数据的实现代码
2011/07/26 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
layui之select的option叠加问题的解决方法
2018/03/08 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
单链表反转python实现代码示例
2018/02/08 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
日本著名化妆品零售网站:Cosme Land
2019/03/01 全球购物
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
个人生活学习自我评价范文
2013/11/26 职场文书
物流专业大学的自我评价
2014/01/11 职场文书
主管竞聘书范文
2014/03/31 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
Golang流模式之grpc的四种数据流
2022/04/13 Golang