Diferente pentru problema-majoritatii-votului intre reviziile #11 si #12

Nu exista diferente intre titluri.

Diferente intre continut:

   else return -1;
}
==
 
O altă idee de rezolvare porneşte de la observaţia următoare: Dacă există un element majoritar în şir, atunci ultima lui cifră va fi elementul majoritar în şirul format din ultimele cifre a numerelor din şirul iniţial. Această observaţie este valabilă pentru orice cifră a numerelor nu doar ultima. Astfel putem determina pentru fiecare a x-a cifră a numemerelor care este cifra majoritară şi apoi să punem cap la cap cifrele majoritare pentru a forma numărul majoritar. Evident putem să folosim orice bază, dacă folosim baza b şi valoarea maximă a unui număr ar fi k atunci algoritmul va avea complexitatea O(n log in baza b din k) şi foloseşte memorie suplimentară O(b * log in baza b din k).  În practică putem considera acest algoritm ca fiind liniar. Să vedem o implementare a algoritmului pentru b = 1000 şi k = 999.999.999.
 
== code(cpp) |
int digitMajority(int n, int[] a) {
     int[][] dig = new int[3][1000];

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.