leetcode 剑指 Offer 17. 打印从1到最大的n位数
leetcode 剑指 Offer 17. 打印从1到最大的n位数
方法一:
先统计出最大值,然后生成一个数组,利用一个循环进行赋值
1 class Solution { 2 public int[] printNumbers(int n) { 3 // 先统计出最大值 4 int maxNum = 0; 5 for(int i = 0; i < n; i++){ 6 maxNum *= 10; 7 maxNum += 9; 8 } 9 10 // 生成一个数组,利用一个循环进行赋值 11 int[] arr = new int[maxNum]; 12 for(int i = 0; i < maxNum; i++){ 13 arr[i] = i + 1; 14 } 15 return arr; 16 } 17 }
leetcode运行时间为1ms, 空间为47mb
复杂度分析:
空间复杂度和时间复杂度均为 O(n)