Sword Finger Offer Entrevista Pregunta 17. Imprime n dígitos del 1 al máximo [Simple]

Mi solucion:

Primero encuentre el valor máximo de n dígitos, para bucle en el vector

class Solution {
public:
    vector<int> printNumbers(int n) {
        vector<int> res;
        if(!n)  return {};
        int max=0;
        while(n--){
            max=max*10+9;
        }   
        for(int i=1;i<=max;i++)
            res.push_back(i);
        return res;
    }
};

2. Simplemente multiplique por 10 al calcular el valor máximo

class Solution {
public:
    vector<int> printNumbers(int n) {
        vector<int> res;
        if(!n)  return {};
        int max=1;
        for(int i=0;i<n;i++)    max*=10;
        for(int i=1;i<max;i++)
            res.push_back(i);
        return res;
    }
};

Publicado 65 artículos originales · elogiado 1 · visitas 477

Supongo que te gusta

Origin blog.csdn.net/qq_41041762/article/details/105566025
Recomendado
Clasificación