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)

 

posted @ 2020-09-27 11:54  Lucky小黄人^_^  阅读(119)  评论(0编辑  收藏  举报