python求解按等级分配糖果问题
来源:互联网 发布:足球角球数据库 编辑:程序博客网 时间:2024/06/06 02:30
问题:
有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_listif __name__ == '__main__': rank_list=[2,3,4,8,1,5,6] split_candy(rank_list)
结果如下:
16优先级为: [2, 3, 4, 8, 1, 5, 6]分得的糖果为: [1, 2, 3, 4, 1, 2, 3][Finished in 0.3s]
阅读全文
1 0
- python求解按等级分配糖果问题
- [python]汉诺塔问题求解
- 分配糖果问题——Leetcode系列(十五)
- 动态规划求解资源最优分配问题
- 求解最佳分配的算法问题
- OJ--分配糖果
- 分配糖果程序
- Candy 分配糖果
- Bug等级权重分配
- 糖果问题
- 用python求解组合问题
- python自学新手求解问题
- python中汉诺塔问题的求解
- Python编程与问题求解
- [各种面试题] 分配糖果
- 动态规划之糖果分配
- [原创]【动态规划求解“键盘上字母分配”问题】
- set intersection问题求解(python版)
- POJ 2393:Yogurt factory
- 动态规划总结及题目推荐
- Glide4.0.0本地缓存配置
- Python日志8/3
- CC2640R2F BLE5.0 CC2640R2F软件架构
- python求解按等级分配糖果问题
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- 《第一行代码》自学笔记-广播的发送和接收基本用法总结
- UITableView分组列表,显示右侧索引
- weka的使用-机器学习工具
- 车牌号
- FZU2277 Change dfs序+树状数组 区间更新 单点求值
- mysql数据库优化--SQL技巧
- Is It A Tree?