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 django使用haystack:全文检索的框架(实例讲解)
Sep 27 Python
Python中实现最小二乘法思路及实现代码
Jan 04 Python
Django实现组合搜索的方法示例
Jan 23 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
Python编程中flask的简介与简单使用
Dec 28 Python
Python语言进阶知识点总结
May 28 Python
Python完成哈夫曼树编码过程及原理详解
Jul 29 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
解决pytorch 模型复制的一些问题
Mar 03 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
php中利用explode函数分割字符串到数组
2014/02/08 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
用js统计用户下载网页所需时间的脚本
2008/10/15 Javascript
jquery.validate使用攻略 第三部
2010/07/01 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
Vue实现验证码功能
2019/12/03 Javascript
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
加拿大领先家居家具网上购物:Aosom.ca
2020/05/27 全球购物
毕业自我评价范文
2013/11/17 职场文书
教师绩效工资方案
2014/02/01 职场文书
优秀教师主要事迹
2014/02/01 职场文书
《自选商场》教学反思
2014/02/14 职场文书
2014教师年度工作总结
2014/11/10 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
党员自我评价范文2015
2015/03/03 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
用Python可视化新冠疫情数据
2022/01/18 Python