Print all Jumping Numbers smaller than or equal to a given value
解题思路:
1. bfs
从0开始搜索,沿着跳跃数的规则进行扩展,找出所有小于等于给定值的跳跃数的个数。之所以能够用bfs求解是因为即使给定一个很大的数,满足条件的跳跃数的数目也是很小的,因此整个bfs的搜索空间是很小的,足够高效。
2.数位DP
dp[i][j]:长度为j且第一个数字为i的跳跃数的个数。
注意dp[0][j]和dp[i]j状态转移不同,然后剩余的就是按位求解的过程。