Blog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2025 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Algorytmy
Algorytmyeasy

Na czym polega technika two pointers?

Tagi
#two-pointers#array#technique
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Trzymasz dwa wskaźniki/indeksy (np. lewy/prawy) i przesuwasz je wg reguły, często na posortowanej tablicy lub w oknie przesuwnym. W wielu zadaniach pozwala zejść z dwóch pętli do O(n).

function hasPairSum(arr: number[], target: number) {
  let l = 0;
  let r = arr.length - 1;

  while (l < r) {
    const sum = arr[l] + arr[r];
    if (sum === target) return true;
    if (sum < target) l++;
    else r--;
  }

  return false;
}

Powiązane pytania

Algorytmy
Boyer–Moore majority vote: co rozwiązuje i jaka jest główna idea?
#majority-vote#array#linear-time
Algorytmy
Wykrywanie cyklu Floyda (żółw i zając): co wykrywa i jakie ma koszty czas/pamięć?
#cycle-detection#tortoise-hare#linked-list
Algorytmy
Sliding window: co to jest i kiedy jest lepsze niż zagnieżdżone pętle?
#sliding-window#two-pointers#complexity
Algorytmy
Jaki problem rozwiązuje algorytm Kadane’a?
#kadane#dynamic-programming#array