Pagini recente » Diferente pentru schimbare-borland/ghid/sursa intre reviziile 6 si 5 | Diferente pentru blog/problema-majoritatii intre reviziile 19 si 18 | Diferente pentru blog/reteta-de-success intre reviziile 13 si 12 | Diferente pentru blog/meet-in-the-middle intre reviziile 100 si 101 | Diferente pentru blog/problema-majoritatii intre reviziile 15 si 14
Nu exista diferente intre titluri.
Diferente intre continut:
Merge in O(n) ca timp si O(1) ca spatiu suplimentar.
== code(c) |
x <- -1, counter_x <- 0;
y <- -1. counter_y <- 0;
x = -1, counter_x = 0;
y = -1. counter_y = 0;
pentru i = 1,n
daca counter_x = 0 atunci x <- a[i], counter_x <- 1;
altfel daca counter_y = 0 atunci y <- a[i]; counter_y <- 1;
altfel daca x = a[i] atunci counter_x++;
altfel daca y = a[i] atunci counter_y++;
daca counter_x==0 atunci x = a[i], counter_x = 1;
altfel daca counter_y==0 atunci y = a[i]; counter_y = 1;
altfel daca x==a[i] atunci counter_x++;
altfel daca y==a[i] atunci counter_y++;
altfel
// am gasit un grup de trei alegatori cu optiuni diferite pe care il eliminam
// x != a[i] si y != a[i]
counter_x--, counter_y--;
verificam daca x sau y este elementul cautat.
counter_x = counter_x--, counter_y--;
verificam daca x sau y este elementul majoritar.
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.