algorytm.org

Implementacja w JavaScript

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Wyznaczanie dominanty – mody - Implementacja w JavaScript
Ocena użytkownikóww: *****  / 0
SłabyŚwietny
Nadesłany przez Yupk, 19 października 2015 19:27
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

dominanta_1_js.js:
//Wyznaczanie dominanty – mody
//www.algorytm.org

function findDominant(arr) {
    var numbs = [];
    var indxs = [];

    //dla kolejnych elementow w tablicy
    for (var i = 0, len = arr.length; i < len; ++i) {    	
        var found = false;
        //szukaj biezacego elementow w tablicy znalezionych wartosci
        for (var j = 0, nlen = numbs.length; j < nlen; ++j) {        	
            //jezeli znaleziono biezacy element w tablicy znalezionych wartosci,
            //to zwieksz jego licznik wystapien, zaznacz ze zostal znaleziony i przerwij przeszukiwanie
            if (arr[i] === numbs[j]) {
                indxs[j]++;
                found = true;
                break;
            }
        }
        //jezeli biezacy element nie zostal znaleziony w tablicy znalezionych wartosci
        //to dodaj go do tej tablicy i ustaw licznik jego wystapien na 1
        if (!found) {
            numbs.push(arr[i]);
            indxs[numbs.length-1] = 1;
        }
    }

    var max = Math.max.apply(Math, indxs); //wyszukaj maksmymalny licznik wystapien
    return numbs[indxs.findIndex(x=>x===max)]; //zwroc wartosc dla indeksu z maksymalnym licznikiem wystapien
}
Dodaj komentarz