---
# System prepended metadata

title: 2439. Minimize Maximum of Array
tags: [Leetcode, Medium, Greedy]

---

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