К задачам

Цикл в связанном списке

ЛегкаяАлгоритмы
Лучше работает на десктопе
Linked ListsДва указателя

Дан массив nums (элементы связанного списка) и число pos — индекс узла, на который указывает последний элемент (создавая цикл). Если pos = -1, цикла нет.

Определите, есть ли в списке цикл. Постройте связанный список, создайте цикл если нужно, и используйте алгоритм Флойда.

Сигнатура

def has_cycle(nums: list[int], pos: int) -> bool:

Constraints

  • 0 ≤ len(list) ≤ 10⁴
  • -10⁵ ≤ val ≤ 10⁵
  • pos ∈ [-1, len(list) - 1]

Примеры

Пример 1

Вход:
nums = [3,2,0,-4]
pos = 1
Выход:true

Пример 2

Вход:
nums = [1,2]
pos = 0
Выход:true

Пример 3

Вход:
nums = [1]
pos = -1
Выход:false
Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
05:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Цикл в связанном списке — Алгоритмы задача — ML Mentor