Leetcode 2141: Maximum Running Time of N Computers
In this problem, we try to figure out how long we can run n
computers using a list of batteries. We have to use n
different batteries at any moment and switching them can be done any time (as long as it is a whole minute). Each battery has a set number of minutes that it can be used for.
You have
n
computers. You are given the integern
and a 0-indexed integer arraybatteries
where theith
battery can run a computer forbatteries[i]
minutes. You are interested in running alln
computers simultaneously using the given batteries.
Initially, you can insert at most one battery into each computer. After that and at any integer time moment, you can remove a battery from a computer and insert another battery any number of times. 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.
Note that the batteries cannot be recharged.
Return the maximum number of minutes you can run all then
computers simultaneously.
We are also given a few examples:
I noticed that the way I solved it is not optimal (takes 95ms
to run the test suite), so you might want to check other posts to find faster ways; but I will explain my approach which is pretty effective nonetheless.