【Leetcode】279. Perfect Squares

【Leetcode】279. Perfect Squares_第1张图片

1 BFS for the shortest path

2 先找到小于n的所有perfect squares

3 为什么这叫BFS呢?因为把所有情况都穷举完了

4 需要一个变量来记录path的深度,也就是返回值

5  BFS一般需要一个数组来存储这一行的中间结果

6 每次都用剩下的值去减list中的perfect square number,得到新一个level的值,当level中的值和list中的perfect square相等时,说这个path结束了,可以返回cnt了。

7 由于list中是ascending的,所以当list中的值大于当前余数时,可以直接跳出循环了;小于余数的话,就继续往下走

8 设置一个set,遇到重复的余数,直接只算一遍就行了


【Leetcode】279. Perfect Squares_第2张图片

你可能感兴趣的:(【Leetcode】279. Perfect Squares)