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

Leetcode 169 verlangt von Ihnen, das Majority Element in einem Array zu finden. Das Majority Element erscheint mehr als n / 2 Mal. Wir gehen davon aus, dass es immer existiert.

Sie können dies auf zwei Arten lösen.

Ansatz 1: Die Map-Methode

Diese Methode verwendet eine Map, um zu zählen, wie oft jede Zahl vorkommt.

Komplexität:

Ansatz 2: Boyer-Moore Voting Algorithm

Dies ist eine optimierte Art, das Problem mit konstantem Speicher zu lösen.

Stellen Sie sich die Zahlen als gegnerische Teams vor. Jedes Mal, wenn eine Zahl auf eine andere Zahl trifft, heben sie sich gegenseitig auf. Da das Majority Element mehr als die Hälfte der Zeit vorkommt, wird es immer der Letzte sein, der übrig bleibt.

Funktionsweise:

Komplexität:

Warum das wichtig ist:

Beide Methoden haben eine Zeitkomplexität von O(n). Der zweite Ansatz verbraucht jedoch viel weniger Speicher. Er benötigt keine Map. Dies macht ihn besser für große Datensätze geeignet.

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