1. 程式人生 > 實用技巧 >1670. 回合制遊戲

1670. 回合制遊戲

1670.回合制遊戲

CAT 專屬題目 中文English

QW 是一個回合制遊戲的玩家,今天他決定去打怪。

QW 在一場戰鬥中會碰到n個怪物,每個怪物有攻擊力atk[i],每回合結束時如果第i個怪物還活著,就會對 QW 造成atk[i]的傷害。QW 只能在每回合開始時擊殺一個怪物,請幫 QW 出他打完所有怪物最少需要損失多少生命值。

樣例

樣例 1:

輸入:atk = [19,3]
輸出:3

樣例 2:

輸入:atk = [1,3,2,5]
輸出:10

注意事項

n, atk[i] <= 100000
答案可能超過int範圍

輸入測試資料(每行一個引數)如何理解測試資料?

class Solution:
    """
    @param atk: the atk of monsters
    @return: Output the minimal damage QW will suffer
    """
    def getAns(self, atk):
        # Write your code here
        #每次擊殺最大值
        atk.sort()
        atk_total = 0 
        length = len(atk)
        cur_atk = 0
        
        for
i in range(length - 1): cur_atk = cur_atk + atk[i] atk_total += cur_atk return atk_total