JavaScript 中計算所有數字都唯一的 n 位數
問題
我們需要編寫一個 JavaScript 函式,它以一個數字(例如 num)作為唯一的引數。該函式應該計算所有具有 num 位數且所有數字都唯一的數字。
例如,如果函式的輸入為 -
const num = 1;
則輸出應為 -
const output = 10;
輸出說明
數字 0、1、2、3、4、5、6、7、8、9 都是一位數,並且所有數字都是唯一的。
示例
程式碼如下 -
const num = 1; const uniqueDigits = (num = 1) => { const dp = [1, 10]; const sum = [1, 11]; for (let i = 2; i <= num; i++) { dp[i] = sum[i - 1] + (10 - i) * (dp[i - 1]); sum[i] = sum[i - 1] + dp[i]; }; return dp[num]; }; console.log(uniqueDigits(num)); console.log(uniqueDigits(2)); console.log(uniqueDigits(3));
程式碼解釋
我們在這裡使用動態規劃來跟蹤所需的數字。
輸出
控制檯中的輸出將為 -
10 91 739
廣告