TGViewer
Артём Рыбин | Мэйби Артём Рыбин | Мэйби @maybe_digital · 250 subscribers
Post #12 188
Метод двух указателей.

Основные применения метода двух указателей:
1. Поиск пары: поиск пары элементов в массиве, списке или строке, удовлетворяющих определенному условию.
2. Поиск подотрезка: Поиск подотрезка в массиве или строке, удовлетворяющего определенным условиям (например, сумма элементов, равная определенному значению).
3. Удаление дубликатов: Удаление дубликатов из отсортированного или неотсортированного массива или списка.

Алгоритм:
1. Инициализируем указатели. Например, один указывает на начало массива или списка (left), а другой на конец (right).
2. Пишем цикл поиска. Используем цикл для выполнения условий задачи, перемещая указатели в зависимости от результата проверки.
3. Определяем условия и действия. В зависимости от условий может потребоваться сравнение элементов, их обмен или какие-то другие операции с указателями.
4. Получаем результат. Алгоритм завершается, когда один из указателей достигает определенного положения (например, они встретились или прошли друг друга).


Пример задачи: Найти пару элементов в отсортированном массиве, сумма которых равна заданной цели.

func twoSum(nums []int, target int) []int {
    left, right := 0, len(nums)-1
 
    for left < right {
        sum := nums[left] + nums[right]
        if sum == target {
            return []int{left, right}
        } else if sum < target {
            left++
        } else {
            right--
        }
    }
 
    return nil // Если пара не найдена
}
  • 👍 2
  • 🤓 2
  • ❤ 1
More from @maybe_digital
  1. Sep 22, 2026Ну что, возвращаемся в медиа пространство Новый выпуск из серии подкастов «От кода к бизне…
  2. Sep 12, 2026А кто это у нас тут в отпуске смог пробиться на AI Cases Conf? Когда проект интересный - о…
  3. Sep 3, 2026Поговорили в ТГ и погнали на студию В сотый раз говорю, что безумно благодарен Олегу, за т…
  4. Aug 22, 2026Зашел к Олегу с идей сделать подкаст. В целом, аудиоверсия у нас есть
  5. Aug 21, 2026Не еду на конфу Сегодня общались с программным коммитетом и пришли к тому, что идея классн…
  6. Aug 20, 2026Сегодня был небольшой созвон утром, после которого получило письмо на почту Уважаемый Арте…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →