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
广告