暴力法:

    1. class Solution {
    2. public int[] printNumbers(int n) {
    3. int sum = 1;
    4. for (int i = 0; i < n; i++) {
    5. sum *= 10;
    6. }
    7. int[] res = new int[sum - 1];
    8. for (int i = 0; i < sum - 1; i++) {
    9. res[i] = i + 1;
    10. }
    11. return res;
    12. }
    13. }

    字符串:

    • 整体思路:原题的题意其实是希望考察大数计算,因为 int 数组有可能会溢出,所以用字符串处理可以保证一定不会溢出,但是呢,由于返回值规定是 int 数组,所以其实从返回值上来看,是一定不会溢出的,比较矛盾。所以给出个思路 2,学习下如何用字符串处理大数即可,不用特别纠结溢出这件事情
    • 时间复杂度:O(10^n),空间复杂度:O(10^n)