返回所有長度為 n 且滿足其每兩個連續位上的數字之間的差的絕對值為 k 的非負整數。
請注意,除了數字 0 本身之外,答案中的每個數字都不能有前導零。例如,01 因為有乙個前導零,所以是無效的;但 0 是有效的。
你可以按任何順序返回答案。
輸入:n = 3, k = 7
輸出:[181,292,707,818,929]
解釋:注意,070 不是乙個有效的數字,因為它有前導零。
1 <= n <= 9
0 <= k <= 9
n、k 都很小,所以可以直接用搜尋做,這裡不必用字串去拼接字元,因為數字的位數是在遞增的,記錄最後一位列舉到的數字,以及直接用乘法和加法構造數字
注意這裡所說的是絕對值差,所以:
class
solution
if(dig + k <10)
dfs(idx+
1, dig+k, num*
10+ dig+k);if
(k >
0&& dig - k >=0)
dfs(idx+
1, dig-k, num*
10+ dig-k);}
vector<
int>
numssameconsecdiff
(int n,
int k)
; n = n; k = k;
for(
int i =
1; i <
10; i++
)dfs(1
, i, i)
;return ans;}}
;
複雜度分析 演算法馬拉松18 B 非010串
acm模版 這道題一開始一看,覺得是dp,後來發現資料太大,dp要死人的,於是想到了矩陣快速冪,在網上看到有人說可以dp,不懂他是怎麼做的,但是感覺一定會超時啊 這裡首先我們需要找到遞推式 01 an 10 bn 00 cn 11 dn 由此可以推出 an 1 bn cn bn 1 dn 因為需要排...
L1 048 矩陣A乘以B
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行 ca列,b有rb行 cb列,則只有ca與rb相等時,兩個矩陣才能相乘。輸...
L1 048 矩陣A乘以B
給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有ra行 ca列,b有rb行 cb列,則只有ca與rb相等時,兩個矩陣才能相乘。輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數r和列數c,隨後r行,每行給出c個整數,以1個空格分隔,...