Pagini recente » Istoria paginii utilizator/rebeca98 | Atasamentele paginii Profil plastik | Diferente pentru problema-majoritatii-votului intre reviziile 10 si 9 | Autentificare | Diferente pentru problema-majoritatii-votului intre reviziile 9 si 8
Nu exista diferente intre titluri.
Diferente intre continut:
int hashMajority(int n, int[] a) {
HashMap<Integer, Integer> b = new HashMap<Integer, Integer>();
for (int i = 0; i < n; i++) {
if (b.get(a[i])== null) {
if (b.get(a[i]) == null) {
b.put(a[i], 1);
} else {
int num = b.get(a[i]);
int i = 0;
while (i < n) {
int j = i;
while (j < n && a[j + 1]==a[i]) j++;
while (j < n && a[j + 1] == a[i]) j++;
if (j – i + 1 > n / 2) return a[i];
i = j + 1;
}
int selectMajority(int n, int[] a) {
int x = select(n, a, 0, n – 1, n / 2 - 1), nr = 0;
for (int i = 0; i < n; i++) {
if (a[i]==x) nr++;
if (a[i] == x) nr++;
}
if (nr > n/2) return x;
else return -1;
}
int nr = 0;
for (int I = 0; I < n; i++) {
if (a[i]==ret) nr++;
if (a[i] == ret) nr++;
}
if (nr > n/2) return ret;
else return -1;
int mooreMajority(int n, int[] a) {
int cand = -1, k = 0;
for (int i = 0; i < n; i++) {
if (k==0) {
if (k == 0) {
cand = a[i];
k = 1;
} else if (a[i]==cand) {
} else if (a[i] == cand) {
k++;//nu am putut împerechea pe votantul i şi astfel trebuie să mărim numărul de votanţi necuplaţi
} else k--;//cuplăm votantul i cu orice votant ce îl susţine pe cand şi micşorăm astfel numărul de votanţi necuplaţi
}
//faza de verificare
int nr = 0;
for (int i = 0; i < n; i++) {
if (a[i]==cand) nr++;
if (a[i] == cand) nr++;
}
if (nr > n / 2) return cand;
else return – 1;
for (int i = 0; i < n; i++) {
boolean found = false;
for (int j = 0; j < k - 1; j++) {
if (cand[j]==a[i]) {
if (cand[j] == a[i]) {
notMatched[j]++;
found = true;
break;
}
if (!found) {
for (int j = 0; j < k - 1; j++) {
if (notMatched[j]==0) {
if (notMatched[j] == 0) {
cand[j] = a[i];
notMatched[j] = 1;
found = true;
//faza de verificare
for (int i = 0; i < n; i++) {
for (int j = 0; j < k - 1; j++) {
if (a[i]==cand[j] && notMatched[j] != 0) num[j]++;
if (a[i] == cand[j] && notMatched[j] != 0) num[j]++;
}
}
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.