住建网站需多少钱,网站建设不能在淘宝发布,福州市城乡建设局,怎么做app网站题意
给定n#xff0c;代表整数的长度#xff0c;给定k代表两个相邻数字之间的间隔。求所有的值构成的组合
题目链接
https://leetcode.com/problems/numbers-with-same-consecutive-differences/description/
题解
dfs#xff0c;有k位置要选#xff0c;第一个位置我…题意
给定n代表整数的长度给定k代表两个相邻数字之间的间隔。求所有的值构成的组合
题目链接
https://leetcode.com/problems/numbers-with-same-consecutive-differences/description/
题解
dfs有k位置要选第一个位置我可以从1-9中选择第二个位置是前一个位置的k或者-k要满足加减后的值满足 0并且 k。注意k 0的时候有重复要去重。
class Solution {
public:vectorint numsSameConsecDiff(int n, int k) {vectorint res;for(int i 1; i 9; i) {dfs(i, 1, res, n, k);}return res;}void dfs(int x, int u, vectorint res, int n, int k) {if (u n) {res.push_back(x);return;}int tmp x % 10;if(tmp k 10) {dfs(x*10 tmp k, u1, res, n, k);}if(tmp - k 0 k ! 0) {dfs(x*10 tmp - k, u1, res, n, k);}}
};时间复杂度: O ( 2 n ) O(2^n) O(2n) 空间复杂度 O ( 1 ) O(1) O(1)