# 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;
}
}
```