Je suis venu à travers un programme qui était comme ci-dessous

firstMissingPositive(vector<int> &A) {
    vector<bool> dict(A.size()+1,false);

    for(int i=0;i<A.size();i++){
            if(A[i]>0 && A[i]<dict.size()) dict[A[i]]=true;
    }

    if(A.size()==1 && A[0]!=1) return 1;
    else if(A.size()==1 && A[0]==1) return 2;

    int i=0;
    for(i=1;i<dict.size();i++){
        if(dict[i]==false) return i;
    }
    return i;
}

Dans ce programme, je n'ai pas pu comprendre ce que signifie la ligne suivante

          vector<bool> dict(A.size()+1,false);

Qu'est-ce que dict et cette déclaration?

-3
Deepak Sharma 18 août 2017 à 09:54

2 réponses

Meilleure réponse

C'est simplement une variable.

La définition de la variable appelle un constructeur spécifique du vecteur pour l'initialiser avec une taille spécifique et initialiser tous les éléments à une valeur spécifique.

C'est équivalent à

vector<bool> dict;
dict.resize(A.size()+1,false);

Voir par exemple cette std::vector référence de constructeur pour plus d'informations sur les constructeurs disponibles .

3
Some programmer dude 18 août 2017 à 07:12

C'est une définition d'une variable "dict" de type vecteur. Et s'il vous plaît, recherchez d'abord sur Google

1
KidUser 18 août 2017 à 06:57