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

更新於: 2021-03-18

225 次檢視

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告