暴力法:
class Solution {
public int[] printNumbers(int n) {
int sum = 1;
for (int i = 0; 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;
}
}
字符串:
- 整体思路:原题的题意其实是希望考察大数计算,因为 int 数组有可能会溢出,所以用字符串处理可以保证一定不会溢出,但是呢,由于返回值规定是 int 数组,所以其实从返回值上来看,是一定不会溢出的,比较矛盾。所以给出个思路 2,学习下如何用字符串处理大数即可,不用特别纠结溢出这件事情
- 时间复杂度:O(10^n),空间复杂度:O(10^n)