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解决js文件utf-8编码乱码问题(推荐)
May 02 Python
django 解决manage.py migrate无效的问题
May 27 Python
python中的字符串内部换行方法
Jul 19 Python
浅谈python中get pass用法
Mar 19 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
Python Numpy计算各类距离的方法
Jul 05 Python
python实现连连看辅助(图像识别)
Mar 25 Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 Python
python统计字符串中字母出现次数代码实例
Mar 02 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 Python
聊聊Python String型列表求最值的问题
Jan 18 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
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
2011/04/18 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
javascript 写类方式之五
2009/07/05 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
js实现简易拖拽的示例
2020/10/26 Javascript
python正则表达式中的括号匹配问题
2014/12/14 Python
Python入门_条件控制(详解)
2017/05/16 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
2019/10/17 Python
python 基于opencv实现图像增强
2020/12/23 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
程序员机试试题汇总
2012/03/07 面试题
财务部岗位职责
2013/11/19 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
媒矿安全生产承诺书
2014/05/23 职场文书
CSS的class与id常用的命名规则
2021/05/18 HTML / CSS
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记