Heim >Web-Frontend >js-Tutorial >Zwei-Zeiger-Muster in DSA
Hallo! Lassen Sie uns über diesen coolen Trick sprechen, der in DSA als Zwei-Zeiger-Technik bezeichnet wird. Keine Sorge, ich sorge dafür, dass es Spaß macht, und füge ein paar visuelle Elemente hinzu, damit es hängen bleibt. Bereit einzutauchen?
Also, worum geht es bei dieser Zwei-Punkte-Sache?
Stellen Sie es sich wie ein Spiel vor, bei dem zwei Spieler (wir nennen sie Zeiger) auf verschiedenen Seiten eines Feldes (das ist Ihr Feld) beginnen. Sie können entweder:
Diese Technik hilft Ihnen, eine Reihe von Problemen supereffizient zu lösen, ohne Unmengen von Schleifen schreiben zu müssen. Ziemlich ordentlich, oder?
Warum sollte es Sie interessieren?
Nun, es ist wie eine Supermacht für Ihren Code:
Sehen wir uns einige Arten von Zwei-Zeiger-Problemen an
Stellen Sie sich vor, Sie versuchen, zwei Zahlen in einem sortierten Array zu finden, die zusammen ein Ziel ergeben. Es ist, als ob zwei Menschen aufeinander zulaufen, um sich in der Mitte zu treffen.
Hier ist ein kurzes JavaScript-Beispiel:
function twoSumSorted(arr, target) { let left = 0; let right = arr.length - 1; while (left < right) { const sum = arr[left] + arr[right]; if (sum === target) return [left, right]; if (sum < target) left++; else right--; } return -1; // No pair found } console.log(twoSumSorted([1, 2, 3, 4, 6], 10)); // Output: [2, 4]
Stellen Sie sich die Zahlen als niedliche kleine Zeichen in einer Zeile vor:
① ② ③ ④ ⑤
2.Dies ist perfekt, um zu überprüfen, ob eine Zeichenfolge ein Palindrom ist. Stellen Sie sich zwei Freunde vor, die am Ende eines Wortes beginnen, sich zur Mitte hin bewegen und ein High-Five machen, wenn alles passt.
function isPalindrome(s) { let left = 0; let right = s.length - 1; while (left < right) { if (s[left] !== s[right]) return false; left++; right--; } return true; } console.log(isPalindrome("racecar")); // Output: true console.log(isPalindrome("hello")); // Output: false
Stellen Sie sich zwei Ameisen vor, die auf dem Wort „Rennwagen“ aufeinander zukriechen:
r <-> r ?
a <-> ein ?
c <-> c ?
Palindrome bestätigt! ?
Einige coole Anwendungen dieser Technik:
Profi-Tipps:
Willst du aufsteigen? Probieren Sie diese Herausforderungen aus:
Die Zwei-Zeiger-Technik ist wie ein Schweizer Taschenmesser zum Codieren. Es ist einfach, aber wirkungsvoll, und mit etwas Übung werden Sie es verwenden, ohne darüber nachzudenken.
Haben Sie Fragen oder möchten Sie Ihre Lösungen teilen? Schreiben Sie einen Kommentar oder rufen Sie mich an. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonZwei-Zeiger-Muster in DSA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!