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 相关文章推荐
使用python3.5仿微软记事本notepad
Jun 15 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python 专题四 文件基础知识
Mar 20 Python
python基于twisted框架编写简单聊天室
Jan 02 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
python实现超市商品销售管理系统
Nov 22 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
Python selenium实现断言3种方法解析
Sep 08 Python
python 爬取小说并下载的示例
Dec 07 Python
Python if else条件语句形式详解
Mar 24 Python
Python OpenCV实现图形检测示例详解
Apr 08 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数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
vue实现信息管理系统
2020/05/30 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
Python中tell()方法的使用详解
2015/05/24 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
python数据挖掘需要学的内容
2019/06/23 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
如何在python中判断变量的类型
2020/07/29 Python
美国电子产品主要品牌的授权在线零售商:DataVision
2019/03/23 全球购物
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
电气自动化自荐信
2013/10/10 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
门前三包责任书
2014/04/15 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
先进工作者事迹材料
2014/12/23 职场文书
小学科学课教学反思
2016/02/23 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android