C/C++教程

LeetCode——剑指offer17【打印从1到最大的n位数】

本文主要是介绍LeetCode——剑指offer17【打印从1到最大的n位数】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目

题目概述:

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

示例:

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

基础框架

class Solution {
    public int[] printNumbers(int n) {
    }
}

解题思路

for循环直接遍历即可!

①利用Math函数的pow方法生成末端数字;

②由于返回类型为int数组,故默认在int整型取值范围内,否则当n较大时,会超出范围!

代码详解

class Solution {
    public int[] printNumbers(int n) {
       int last=(int)Math.pow(10,n)-1;
        int[] arr=new int[last];
        for(int i=0;i<last;i++){
            arr[i]=i+1;
        }
        return arr;
    }
}
这篇关于LeetCode——剑指offer17【打印从1到最大的n位数】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!