分享
剑指 Offer 17. 打印从1到最大的n位数
黄sir_ · · 875 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
剑指 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
}
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信875 次点击
上一篇:Go Socket
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
剑指 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
}