Pagini recente » secv1 | Istoria paginii utilizator/alexandra_corduneanu | Monitorul de evaluare | Istoria paginii utilizator/chirataandrei | Diferente pentru problema-majoritatii-votului intre reviziile 6 si 5
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;
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
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.