Puis-je trouver l'élément majoritaire uniquement en entrée de lecture sans ajout à un tableau? Mon code ne fonctionne pas à grande entrée, avec une grande différence de nombres.Rechercher l'élément majoritaire à partir de l'entrée
Je trouve mon erreur. Il code correct:
int n = Integer.parseInt(bin.readLine()); // read number of data
int h = 0; //input data
int count = 1; //counter
int lf = 0; // last top counting
int first = 0; // top counter num
for (int x = 0; x < n; x++) {
lf = h;
h = Integer.parseInt(bin.readLine());//read input number
if (x == 0) {
first = h;
}
if (h == first) {
count++;
} else {
count--;
}
if (count == 0) {
first = lf;
count = 1;
}
Comment appelez-vous un élément majoritaire? Ce code semble compter combien de fois le premier élément se produit dans l'entrée. – Qnan
Votre code devrait fonctionner quel que soit le nombre d'entrées. Que voulez-vous dire par "ne fonctionne pas"? –
Quand j'ai entré plus de 100 000 numéros, ça donne une mauvaise réponse. – Vlad