# 2439. Minimize Maximum of Array ###### tags: `Leetcode` `Medium` `Greedy` Link: https://leetcode.com/problems/minimize-maximum-of-array/description/ ## 思路 $O(N)$ $O(1)$ 可以抽象的理解成一个从右到左流通的flow 如果右边值比较大左边比较小 可以从右边留到左边 但如果左边比较大 右边比较小 就流不过去 所以我们可以从左到右遍历 然后在过程中算prefix sum 然后算平均数 最大的平均数就是答案 ## Code ```java= class Solution { public int minimizeArrayValue(int[] nums) { long sum = 0; int n = nums.length; long ans = 0; for(int i=0; i<n; i++){ sum += nums[i]; ans = Math.max(ans, (sum+i)/(i+1)); } return (int)ans; } } ```