剑指 Offer 17. 打印从1到最大的n位数
Posted 小布丁value
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 17. 打印从1到最大的n位数相关的知识,希望对你有一定的参考价值。
代码思路:
1.最大n位数end位数n之间的关系
1最大的位数是9,
2最大的位数是99,
3最大的位数是999
end=10的n次方-1;
2.大数越界问题:当n较大时,end会超出int32整型的取值范围,超出范围无法正常存储,但是本题要求返回的数字都在int 32范围内,可以不考虑大数越界
直接遍历区间【1,10的n次方-1】的数即可
计算幂数的方法是:Math.pow(10,n)
class Solution {
public int[] printNumbers(int n) {
int end=(int)Math.pow(10,n)-1;
int[] res=new int[end];
for(int i=0;i<end;i++){
res[i]=i+1;
}
return res;
}
}
以上是关于剑指 Offer 17. 打印从1到最大的n位数的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode——剑指offer17打印从1到最大的n位数
[LeetCode]剑指 Offer 17. 打印从1到最大的n位数
剑指 Offer 17. 打印从1到最大的n位数 的详细题解