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的爬虫框架Scrapy来抓取豆瓣电影TOP250
Jan 20 Python
Python 多线程抓取图片效率对比
Feb 27 Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 Python
python的unittest测试类代码实例
Dec 07 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
详解用Python练习画个美队盾牌
Mar 23 Python
Python3 执行Linux Bash命令的方法
Jul 12 Python
对python中UDP,socket的使用详解
Aug 22 Python
Python实例方法、类方法、静态方法区别详解
Sep 05 Python
Django自定义YamlField实现过程解析
Nov 11 Python
Python使用windows设置定时执行脚本
Nov 12 Python
用python开发一款操作MySQL的小工具
May 12 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代码的53条建议
2008/03/27 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
jquery实现div阴影效果示例代码
2013/09/16 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python简单文本处理的方法
2015/07/10 Python
django中的setting最佳配置小结
2017/11/21 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
python实现人机五子棋
2020/03/25 Python
深入了解python列表(LIST)
2020/06/08 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
太阳镜仓库,售价20美元或更少:Sunglass Warehouse
2016/09/28 全球购物
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
文员个人求职自荐信
2013/09/21 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
起诉书范文
2015/05/20 职场文书
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS