Problem Statement
leetcode problem link
Brute Force [Accepted]
class Solution:
def numOfUnplacedFruits(self, fruits: List[int], baskets: List[int]) -> int:
res = 0
placed_baskets = set()
for fruit in fruits:
is_placed = False
for i, basket in enumerate(baskets):
if i not in placed_baskets and fruit <= basket:
placed_baskets.add(i)
is_placed = True
break
if not is_placed:
res += 1
return res
Editorial
Approach: Simulation
class Solution:
def numOfUnplacedFruits(self, fruits: List[int], baskets: List[int]) -> int:
count = 0
n = len(baskets)
for fruit in fruits:
unset = 1
for i in range(n):
if fruit <= baskets[i]:
baskets[i] = 0
unset = 0
break
count += unset
return count