剑指 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
}
有疑问加站长微信联系(非本文作者)