Прыгающая игра — средняя

Учитывая массив неотрицательных целых чисел nums, вы изначально позиционируетесь в первом индексе массива.

Каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Определите, можете ли вы достичь последнего индекса.

Решение:

Индекс i достижим, только если есть способ достичь индекса «i-1» и длина перехода индекса «i-1» ≥1. Итак, мы проходим через массив и обновляем позиции максимальным значением, которое может быть достигнуто из этой конкретной позиции и для индекса i, если i-1 не может быть достигнуто или длина прыжка i-1 = 0, тогда мы можем не достичь индекса i.

Прыгай, игра 2

Учитывая массив неотрицательных целых чисел nums, вы изначально позиционируетесь в первом индексе массива.

Каждый элемент массива представляет максимальную длину прыжка в этой позиции.

Ваша цель - достичь последнего индекса за минимальное количество прыжков.

Вы можете предположить, что вы всегда можете добраться до последнего индекса.

Игра «Прыжок 3»

Учитывая массив неотрицательных целых чисел arr, вы изначально позиционируетесь в start индексе массива. Когда вы находитесь в индексе i, вы можете перейти к i + arr[i] или i - arr[i], проверьте, можете ли вы добраться до любого индекса со значением 0.

Обратите внимание, что вы не можете выйти за пределы массива в любое время.

Прыгающая игра IV

Учитывая массив целых чисел arr, вы изначально позиционируетесь в первом индексе массива.

За один шаг вы можете перейти от индекса i к индексу:

  • i + 1 где: i + 1 < arr.length.
  • i - 1 где: i - 1 >= 0.
  • j где: arr[i] == arr[j] и i != j.

Возвращает минимальное количество шагов для достижения последнего индекса массива.

Обратите внимание, что вы не можете выйти за пределы массива в любое время.

Решение: Думайте об этом как о проблеме BFS. В bfs мы посещаем все элементы, доступные из определенного узла, и добавляем их в очередь. Точно так же здесь мы добавляем все элементы, которые доступны из определенного элемента, и добавляем его в очередь, и если индекс элемента, извлеченного из очереди, равен len(arr)-1, то мы достигли последнего элемента и, следовательно, возвращаем количество прыжки. Если вы знаете, как печатать порядок уровней дерева по каждому уровню, то решение должно быть довольно простым.

«Знайте, как печатать порядок уровней дерева по уровням, т. е. печатать все элементы на каждом уровне в строке. Если вы это знаете, то игру Jump IV можно легко решить».