LeetCode LCP 50. 寶石補(bǔ)給
歡迎各位勇者來到力扣新手村,在開始試煉之前,請(qǐng)各位勇者先進(jìn)行「寶石補(bǔ)給」。
每位勇者初始都擁有一些能量寶石, gem[i] 表示第 i 位勇者的寶石數(shù)量?,F(xiàn)在這些勇者們進(jìn)行了一系列的贈(zèng)送,operations[j] = [x, y] 表示在第 j 次的贈(zèng)送中 第 x 位勇者將自己一半的寶石(需向下取整)贈(zèng)送給第 y 位勇者。
在完成所有的贈(zèng)送后,請(qǐng)找到擁有最多寶石的勇者和擁有最少寶石的勇者,并返回他們二者的寶石數(shù)量之差。
注意:
贈(zèng)送將按順序逐步進(jìn)行。
示例 1:
輸入:gem = [3,1,2], operations = [[0,2],[2,1],[2,0]]
輸出:2
解釋:
第 1 次操作,勇者 0 將一半的寶石贈(zèng)送給勇者 2, gem = [2,1,3]
第 2 次操作,勇者 2 將一半的寶石贈(zèng)送給勇者 1, gem = [2,2,2]
第 3 次操作,勇者 2 將一半的寶石贈(zèng)送給勇者 0, gem = [3,2,1]
返回 3 - 1 = 2
示例 2:
輸入:gem = [100,0,50,100], operations = [[0,2],[0,1],[3,0],[3,0]]
輸出:75
解釋:
第 1 次操作,勇者 0 將一半的寶石贈(zèng)送給勇者 2, gem = [50,0,100,100]
第 2 次操作,勇者 0 將一半的寶石贈(zèng)送給勇者 1, gem = [25,25,100,100]
第 3 次操作,勇者 3 將一半的寶石贈(zèng)送給勇者 0, gem = [75,25,100,50]
第 4 次操作,勇者 3 將一半的寶石贈(zèng)送給勇者 0, gem = [100,25,100,25]
返回 100 - 25 = 75
示例 3:
輸入:gem = [0,0,0,0], operations = [[1,2],[3,1],[1,2]]
輸出:0
提示:
2 <= gem.length <= 10^3
0 <= gem[i] <= 10^3
0 <= operations.length <= 10^4
operations[i].length == 2
0 <= operations[i][0], operations[i][1] < gem.length
easy題目,模擬遍歷即可;
執(zhí)行用時(shí):3 ms, 在所有?Java?提交中擊敗了50.30%的用戶
內(nèi)存消耗:42.8 MB, 在所有?Java?提交中擊敗了5.39%的用戶