详细描述:
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]
限制:
- 用返回一个整数列表来代替打印
- n 为正整数
考查: 大数、幂运算、
思考:由于自己偷懒感觉不是很难
解法(一):
class Solution {
public int[] printNumbers(int n) {
int num=(int)Math.pow(10,n);
int[] arr=new int[num-1];
for(int i=0;i<arr.length;i++){
arr[i]=i+1;
}
return arr;
}
}
解析:
- 复杂度的分析:
- 时间复杂度:O(N)
- 空间复杂度:O(1)
执行用时:1 ms
内存消耗: 47.8MB
解法(二):
解析:
- 复杂度的分析:
- 时间复杂度:
- 空间复杂度:
执行用时: ms
内存消耗: MB