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

黄sir_ · · 89 次点击 · · 开始浏览    

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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:黄sir_

查看原文:剑指 Offer 17. 打印从1到最大的n位数

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

89 次点击  
加入收藏 微博
上一篇:Go Socket
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传