java.lang.Object
g2101_2200.s2141_maximum_running_time_of_n_computers.Solution

public class Solution extends Object
2141 - Maximum Running Time of N Computers.<p>Hard</p> <p>You have <code>n</code> computers. You are given the integer <code>n</code> and a <strong>0-indexed</strong> integer array <code>batteries</code> where the <code>i<sup>th</sup></code> battery can <strong>run</strong> a computer for <code>batteries[i]</code> minutes. You are interested in running <strong>all</strong> <code>n</code> computers <strong>simultaneously</strong> using the given batteries.</p> <p>Initially, you can insert <strong>at most one battery</strong> into each computer. After that and at any integer time moment, you can remove a battery from a computer and insert another battery <strong>any number of times</strong>. The inserted battery can be a totally new battery or a battery from another computer. You may assume that the removing and inserting processes take no time.</p> <p>Note that the batteries cannot be recharged.</p> <p>Return <em>the <strong>maximum</strong> number of minutes you can run all the</em> <code>n</code> <em>computers simultaneously.</em></p> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2022/01/06/example1-fit.png" alt="" /></p> <p><strong>Input:</strong> n = 2, batteries = [3,3,3]</p> <p><strong>Output:</strong> 4</p> <p><strong>Explanation:</strong></p> <p>Initially, insert battery 0 into the first computer and battery 1 into the second computer.</p> <p>After two minutes, remove battery 1 from the second computer and insert battery 2 instead. Note that battery 1 can still run for one minute.</p> <p>At the end of the third minute, battery 0 is drained, and you need to remove it from the first computer and insert battery 1 instead.</p> <p>By the end of the fourth minute, battery 1 is also drained, and the first computer is no longer running.</p> <p>We can run the two computers simultaneously for at most 4 minutes, so we return 4.</p> <p><strong>Example 2:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2022/01/06/example2.png" alt="" /></p> <p><strong>Input:</strong> n = 2, batteries = [1,1,1,1]</p> <p><strong>Output:</strong> 2</p> <p><strong>Explanation:</strong></p> <p>Initially, insert battery 0 into the first computer and battery 2 into the second computer.</p> <p>After one minute, battery 0 and battery 2 are drained so you need to remove them and insert battery 1 into the first computer and battery 3 into the second computer.</p> <p>After another minute, battery 1 and battery 3 are also drained so the first and second computers are no longer running.</p> <p>We can run the two computers simultaneously for at most 2 minutes, so we return 2.</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= n <= batteries.length <= 10<sup>5</sup></code></li> <li><code>1 <= batteries[i] <= 10<sup>9</sup></code></li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • maxRunTime

      public long maxRunTime(int n, int[] batteries)