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)

原文地址:https://www.cnblogs.com/hi3254014978/p/13738581.html