1345 跳躍遊戲 IV

2022-09-19 13:51:12 字數 866 閱讀 1277

給你乙個整數陣列 arr ,你一開始在陣列的第乙個元素處(下標為 0)。

每一步,你可以從下標 i 跳到下標:

i + 1 滿足:i + 1 < arr.length

i - 1 滿足:i - 1 >= 0

j 滿足:arr[i] == arr[j] 且 i != j

請你返回到達陣列最後乙個元素的下標處所需的 最少操作次數 。

注意:任何時候你都不能跳到陣列外面。

import j**a.util.*;

class solution

queuequeue = new linkedlist<>();

map> graph = new hashmap<>();

for (int i = 0; i < arr.length; ++i)

graph.get(arr[0]).remove(0);

queue.offer(new info(0, 0));

while (!queue.isempty())

for (integer to : graph.getordefault(arr[node.index], collections.emptyset()))

graph.remove(arr[node.index]);

if (node.index - 1 >= 0 && graph.containskey(arr[node.index - 1]))

if (node.index + 1 < arr.length && graph.containskey(arr[node.index + 1]))

}return -1;

}}class info

}

leetcode 1345 跳躍遊戲 IV

給你乙個整數陣列 arr 你一開始在陣列的第乙個元素處 下標為 0 每一步,你可以從下標 i 跳到下標 i 1 滿足 i 1 arr.length i 1 滿足 i 1 0 j 滿足 arr i arr j 且 i j請你返回到達陣列最後乙個元素的下標處所需的最少操作次數 注意 任何時候你都不能跳到...

跳躍遊戲 IV

問題描述 給你乙個整數陣列 arr 你一開始在陣列的第乙個元素處 下標為 0 每一步,你可以從下標 i 跳到下標 i 1 滿足 i 1 arr.length i 1 滿足 i 1 0 j 滿足 arr i arr j 且 i j 請你返回到達陣列最後乙個元素的下標處所需的最少操作次數 注意 任何時候...

LintCode 跳躍遊戲 I VS跳躍遊戲 II

陣列中的每個元素代表你在那個位置可以跳躍的最大長度。判斷你是否能到達陣列的最後乙個位置。分析 方法一 基於動態規劃的做法,時間複雜度o n 2 陣列dp i 表示能否到達下標為i的位置,對於從下標i 1開始的每乙個位置,都從下標j 0開始到i 1判斷能否到達j,並且判斷從j開始最遠能否跳到或超過i的...