输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1
输出: [1,2,3,4,5,6,7,8,9]
用返回一个整数列表来代替打印
n 为正整数
这个题刚看完就是直接暴力的思路,,
然后用暴力直接过了,看题解才考虑到如果是在强类型语言中,如果数字太大int和long是存不够的,所以对PHP来说这样还是可以过的。在题解中还看到一种方法就是利用递归来做,从最高位递归下去找,再把数字组合起来
感觉在没有类型限制的情况下,直接暴力挺好的了,没有多余的操作只需要一个数组来存储,如果是字符串的话,还要进行类型的转化
贴出代码:
class Solution {
/**
* @param Integer $n
* @return Integer[]
*/
function printNumbers($n) {
$arr = [];
$max = pow(10, $n);
for ($i = 1; $i < $max; $i++) {
$arr[] = $i;
}
return $arr;
}
}