𝗟𝗲𝗲𝘁𝗰𝗼𝗱𝗲 𝟭𝟱𝟬 | 𝗗𝗮𝗴 𝟰: 𝗠𝗮𝗷𝗼𝗿𝗶𝘁𝘆 𝗘𝗹𝗲𝗺𝗲𝗻𝘁

Leetcode 169 vraagt je om het meerderheidselement in een array te vinden. Het meerderheidselement komt vaker dan n / 2 keer voor. We gaan ervan uit dat het altijd bestaat.

Je kunt dit op twee manieren oplossen.

Aanpak 1: De Map-methode

Deze methode gebruikt een Map om te tellen hoe vaak elk getal voorkomt.

Complexiteit:

Aanpak 2: Boyer-Moore Voting Algorithm

Dit is een geoptimaliseerde manier om het probleem op te lossen met constant geheugen.

Zie de getallen als tegenovergestelde teams. Elke keer dat een getal een ander getal tegenkomt, heffen ze elkaar op. Omdat het meerderheidselement meer dan de helft van de tijd voorkomt, zal het altijd de laatste zijn die overblijft.

Hoe het werkt:

Complexiteit:

Waarom dit belangrijk is:

Beide methoden hebben een tijdcomplexiteit van O(n). De tweede aanpak gebruikt echter veel minder geheugen. Er is geen Map voor nodig. Dit maakt het beter geschikt voor grote datasets.

Bron: https://dev.to/afuji/leetcode-150-day-4-majority-element-naive-vs-optimized-eo6