剑指offer17-打印从1到最大的n位数

原题(来源Leetcode)

输入数字 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 size = (int)(Math.pow(10,n))-1;
        int[] ans = new int[size];
        for(int i=1;i<=size;i++){
            ans[i-1] = i;
        }
        return ans;
    }
}

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/%e5%89%91%e6%8c%87offer17-%e6%89%93%e5%8d%b0%e4%bb%8e1%e5%88%b0%e6%9c%80%e5%a4%a7%e7%9a%84n%e4%bd%8d%e6%95%b0/

发表评论

电子邮件地址不会被公开。