public class Solution {
public boolean canCross(int[] stones) {
HashMap<Integer,HashSet<Integer>> map=new HashMap<>();
map.put(stones[0], new HashSet<Integer>());
map.get(stones[0]).add(1);
for(int i=1;i<stones.length;i++){
map.put(stones[i],new HashSet<Integer>());
}
for(int i=0;i<stones.length-1;i++){
int stone=stones[i];
for(int step:map.get(stone)){
int reach=step+stone;
if(reach==stones[stones.length-1])return true;
HashSet<Integer> set=map.get(reach);
if(set!=null){
set.add(step);
if(step-1>0)set.add(step-1);
set.add(step+1);
}
}
}
return false;
}
}
03. Frog Jump
最新推荐文章于 2023-08-28 10:58:17 发布