欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)的基于優(yōu)先等級分配糖果問題算法示例

 更新時(shí)間:2018年04月25日 11:51:09   作者:Together_CZ  
這篇文章主要介紹了Python實(shí)現(xiàn)的基于優(yōu)先等級分配糖果問題算法,涉及Python針對列表的遍歷、判斷、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)的基于優(yōu)先等級分配糖果問題算法。分享給大家供大家參考,具體如下:

問題:

有n個(gè)人,每個(gè)人有一定的優(yōu)先等級,等級高的人要比身邊等級低得人得到的多,每個(gè)人都不會分不到

思路:

可以采用兩頭遍歷的方法,順序遍歷保證等級高的人會比左邊的人多,倒序遍歷可以保證等級高的人比右邊的人多

下面是具體實(shí)現(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 "腳本之家測試結(jié)果:"
  rank_list=[2,3,4,8,1,5,6]
  split_candy(rank_list)

結(jié)果如下:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論