您当前的位置: 首页 >  liyatjj leetcode

LeetCode打印从1到最大的n位数

liyatjj 发布时间:2022-09-07 11:30:46 ,浏览量:3

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

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

来源:LeetCode

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

n=1,最大的数是9(10的一次方减1) n=2,最大的数是99(10的二次方减1) n=3,最大的数是999(10的三次方减1) … 所以最大的数其实是10的n次方减1.

需要定义一个数组存放结果,大小就是10的n次方减1.

但是需要注意的是,pow(x,y)方法需要保证x和y都是double类型的,这就多了一步需要将pow的结果再进行强制转换成int类型的。

class Solution {
    public int[] printNumbers(int n) {
        double sum = Math.pow(10.0,(double)n);
        int sums = (int)sum;
        int[] res = new int[sums-1];
        for(int i=1;i            
关注
打赏
1688896170
查看更多评论
0.0493s