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

剑指 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]

解题思路:

先求出最大值,然后放入数组中

Java 版:
class Solution {
    public int[] printNumbers(int n) {
        int sum=10;
        for(int i=1;i<n;i++){
            sum*=10;
        }
        int[] res=new int[sum-1];
        for(int i=0;i<sum-1;i++){
            res[i]=i+1;
        }
        return res;
    }
}
Golang 版:
func printNumbers(n int) []int {
    var res []int
    var size int
    for n>0{
        size=size*10+9
        n--
    }
    for i:=1;i<=size;i++{
        res=append(res,i)
    }
    return res
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容