Python實現(xiàn)的基于優(yōu)先等級分配糖果問題算法示例
本文實例講述了Python實現(xiàn)的基于優(yōu)先等級分配糖果問題算法。分享給大家供大家參考,具體如下:
問題:
有n個人,每個人有一定的優(yōu)先等級,等級高的人要比身邊等級低得人得到的多,每個人都不會分不到
思路:
可以采用兩頭遍歷的方法,順序遍歷保證等級高的人會比左邊的人多,倒序遍歷可以保證等級高的人比右邊的人多
下面是具體實現(xià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 '優(yōu)先級為:', rank_list print '分得的糖果為:', candy_list if __name__ == '__main__': print "腳本之家測試結果:" rank_list=[2,3,4,8,1,5,6] split_candy(rank_list)
結果如下:
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
- Python版微信紅包分配算法
- Python數(shù)據(jù)結構與算法之常見的分配排序法示例【桶排序與基數(shù)排序】
- Python數(shù)據(jù)結構與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法示例
- Python深度優(yōu)先算法生成迷宮
- Python cookbook(數(shù)據(jù)結構與算法)實現(xiàn)優(yōu)先級隊列的方法示例
- Python基于貪心算法解決背包問題示例
- 淺談Python實現(xiàn)貪心算法與活動安排問題
- Python基于遞歸算法實現(xiàn)的走迷宮問題
- Python多線程經(jīng)典問題之乘客做公交車算法實例
- Python基于動態(tài)規(guī)劃算法解決01背包問題實例
- Python使用遺傳算法解決最大流問題
相關文章
python 使用get_argument獲取url query參數(shù)
這篇文章主要介紹了python 使用get_argument獲取url query參數(shù)的相關資料,需要的朋友可以參考下2017-04-04PyTorch中的神經(jīng)網(wǎng)絡 Mnist 分類任務
這篇文章主要介紹了PyTorch中的神經(jīng)網(wǎng)絡 Mnist 分類任務,在本次的分類任務當中,我們使用的數(shù)據(jù)集是 Mnist 數(shù)據(jù)集,這個數(shù)據(jù)集大家都比較熟悉,需要的朋友可以參考下2023-03-03win7上tensorflow2.2.0安裝成功 引用DLL load failed時找不到指定模塊 tensorflo
這篇文章主要介紹了win7上tensorflow2.2.0安裝成功 引用時DLL load failed找不到指定模塊 tensorflow has no attribute xxx 解決方法,需要的朋友可以參考下2020-05-05Pycharm配置導入torch報錯Traceback的問題及解決
這篇文章主要介紹了Pycharm配置導入torch報錯Traceback的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12