算法题:剑指 Offer 17. 打印从1到最大的n位数(题目+思路+代码+注释)时空 O(N) O(1) 1ms击败99.45%、53.48%用户

在这里插入图片描述

题目

剑指 Offer 17. 打印从1到最大的n位数

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。

示例 1:

输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]

说明:

用返回一个整数列表来代替打印
n 为正整数

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

就直接算出最大值,然后定一个数组,循环赋值,过于简单。。。

代码

class Solution {
    public int[] printNumbers(int n) {
        int num = 1;
        while (n > 0){
            n--;
            num *= 10;
        }
        int[] ret = new int[num-1];
        for (int i = 1; i < num;i++){
            ret[i-1] = i;
        }
        return ret;
    }
}
posted @ 2021-09-02 17:42  HumorChen99  阅读(0)  评论(0编辑  收藏  举报  来源