题目
输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999。
题解
数学
/**
* @param {number} n
* @return {number[]}
*/
// max = 10^n − 1 : n位数的最大数
var printNumbers = function(n) {
let max = Math.pow(10, n) - 1;
let res = new Array(max);
for (let i = 0; i < max; i++) {
res[i] = i + 1;
}
return res;
};
复杂度分析:
- 时间复杂度 O(10^n):生成长度为 10^n的列表需使用 O(10^n)时间。
- 空间复杂度 O(1):建立列表需使用 O(1)大小的额外空间。
引用
- 剑指offer书籍
- 力扣题解