问题是
给出一系列的士兵返回可以向某些上级报告的士兵人数。
ranks = [3, 4, 3, 0, 2, 2, 3, 0, 0]
给定[4,2,0]的排名,它应该返回0。
答案 0 :(得分:0)
因此,据我了解,您想找到所有可以报告给 x + 1 位士兵的“ x ”级士兵。 您可以解析数组并计算相同级别的士兵人数:
SoldiersRanks = [0] * MAX_RANK
for rank in ranks:
SoldiersRanks[rank] += 1 # sum the number of soldiers with the same rank
然后检查哪些职等具有优势
SoldiersWithSuperiorSum = 0
for i in range(MAX_RANK-1):
if SoldiersRanks[i] == 0:
continue # skip if there are no soldiers of rank i
if SoldiersRanks[i+1] == 0:
continue # skip if there is no superior of rank i+1
SoldiersWithSuperiorSum += SoldiersRanks[i]
print SoldiersWithSuperiorSum