less than 1 minute read

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