Leetcode-3477. 水果成篮 II

447 词

常规使用哈希表既可以解决

image.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Solution:

    def numOfUnplacedFruits(self, fruits: List[int], baskets: List[int]) -> int:

        i=0

        seen=dict()

        for fruit in fruits:

            placed=False

            for indx,basket in enumerate (baskets):

                if indx in seen:

                    continue

                if fruit<=basket:

                    seen[indx]=fruit

                    placed=True

                    break

            if not placed:

                i+=1

        return i

关键点:是如何写遍历完之后都没有一个合适的篮子。在循环前提前设定好placed=False是个不错的解决方案。其次enumerate起到关键作用,帮助区分当basker出现相同大小数字的情况,用basker的位置进行区分达到很好的效果。