78-打印从1到最⼤的n位数
题⽬描述
输⼊数字 n ,按顺序打印出从 1 到最⼤的 n 位⼗进制数。⽐如输⼊ 3 ,则打印出 1 、2 、3⼀直到最⼤的 3 位数 999 。
- ⽤返回⼀个整数列表来代替打印
- n 为正整数
示例1
输⼊:1
返回值:[1,2,3,4,5,6,7,8,9]
思路及解答
不太清楚这道题是要考察什么(苦笑),⼏乎都是⼀个循环能解决的事情,仔细想了⼀下,也并没有想到其他⽐较令⼈⽿⽬⼀新的做法,⽤Math.pow(10, n) - 1 取出最⼤的边界条件
public class Solution {
/**
* 代码中的类名、⽅法名、参数名已经指定,请勿修改,直接返回⽅法规定的值即可
*
*
* @param n int整型 最⼤位数
* @return int整型⼀维数组
*/
public int[] printNumbers(int n) {
double len = Math.pow(10, n) - 1;
int[] result = new int[(int) len];
for (int i = 0; i < len; i++) {
result[i] = i + 1;
}
return result;
}
}