网站的建设技术有哪些内容,wordpress默认注册框,上海论坛社区,盐城网站建设科技有限公司文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 
返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。 
请注意#xff0c;除了数字 0 本身之外#xff0c;答案中的每个数字都不能有前导零。 例如#xff0c;01 因为有一个前导零#xff0c;所…
文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 
返回所有长度为 N 且满足其每两个连续位上的数字之间的差的绝对值为 K 的非负整数。 
请注意除了数字 0 本身之外答案中的每个数字都不能有前导零。 例如01 因为有一个前导零所以是无效的但 0 是有效的。 
你可以按任何顺序返回答案。 
示例 1
输入N  3, K  7
输出[181,292,707,818,929]
解释注意070 不是一个有效的数字因为它有前导零。示例 2
输入N  2, K  1
输出[10,12,21,23,32,34,43,45,54,56,65,67,76,78,87,89,98]提示
1  N  9
0  K  9来源力扣LeetCode 链接https://leetcode-cn.com/problems/numbers-with-same-consecutive-differences 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题 
简单的模板题一起加油 
2.1 DFS 
class Solution {vectorint ans;
public:vectorint numsSameConsecDiff(int N, int K) {if(N  1)return {0,1,2,3,4,5,6,7,8,9};for(int i  1; i  9; i)dfs(1,N,K,i);return ans;}void dfs(int count, int N, int K, int num){if(count  N)//位数够了{ans.push_back(num);return;}int last  num%10;if(lastK  9)dfs(count1, N, K, num*10lastK);if(last-K  0  K ! 0) // K 为0,跟上面重复了dfs(count1, N, K, num*10last-K);}
};8 ms 8.2 MB 
2.2 BFS 
class Solution {vectorint ans;
public:vectorint numsSameConsecDiff(int N, int K) {if(N  1)return {0,1,2,3,4,5,6,7,8,9};queueint q;for(int i  1; i  9; i)q.push(i);int cur, lastbit, size, len  1;while(!q.empty()){size  q.size();while(size--){cur  q.front();q.pop();if(len  N)//位数够了ans.push_back(cur);lastbit  cur%10;if(lastbitK  9  len  N)q.push(cur*10lastbitK);if(lastbit-K  0  len  N  K ! 0) // K 为0,跟上面重复了q.push(cur*10lastbit-K);}len;//位数1}return ans;}
};4 ms 7.6 MB 我的CSDN博客地址 https://michael.blog.csdn.net/ 
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步