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函数局部变量用法实例分析
Aug 04 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
Python 序列的方法总结
Oct 18 Python
Python中Threading用法详解
Dec 27 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
wxPython实现列表增删改查功能
Nov 19 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
PyCharm2020.3.2安装超详细教程
Feb 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
SMARTY学习手记
2007/01/04 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
ajax请求get与post的区别总结
2013/11/04 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
前端常见跨域解决方案(全)
2017/09/19 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
详解vue-cli3使用
2018/08/14 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
全面分析Python的优点和缺点
2018/02/07 Python
python 自动批量打开网页的示例
2019/02/21 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
在django view中给form传入参数的例子
2019/07/19 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
Linux开机引导的步骤是什么
2015/10/19 面试题
护理毕业生自荐信范文
2013/12/22 职场文书
面试后的英文感谢信
2014/02/01 职场文书
安全生产先进个人材料
2014/02/06 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
高一军训的心得体会
2014/09/01 职场文书
企业工会工作总结2015
2015/05/13 职场文书
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python
mysql全面解析json/数组
2022/07/07 MySQL