Posted on 2023-04-05 17:28
Uriel 閱讀(41)
評論(0) 編輯 收藏 引用 所屬分類:
貪心 、
閑來無事重切Leet Code
給出一個數列每次可以將下標i的數-1,將下標i-1的數+1,執行此操作無限多次,使得最后得到的數列的最大值最小,求這個值
這個操作不改變數列的平均值,讓最大值最小就是讓數列盡可能平均,于是求數列所有的前綴的平均值里面最大的即可
1 #2439
2 #Runtime: 637 ms (Beats 60%)
3 #Memory: 23.3 MB (Beats 80%)
4
5 class Solution(object):
6 def minimizeArrayValue(self, nums):
7 """
8 :type nums: List[int]
9 :rtype: int
10 """
11 ans, cnt = 0, 0
12 for i in range(len(nums)):
13 cnt += nums[i]
14 ans = max(ans, ceil(1.0 * cnt / (i + 1)))
15 return int(ans)