溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現(xiàn)基于優(yōu)先等級分配糖果問題算法

發(fā)布時間:2021-04-06 09:54:01 來源:億速云 閱讀:231 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關Python如何實現(xiàn)基于優(yōu)先等級分配糖果問題算法的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

問題:

有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如何實現(xiàn)基于優(yōu)先等級分配糖果問題算法

感謝各位的閱讀!關于“Python如何實現(xiàn)基于優(yōu)先等級分配糖果問題算法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI