代码拉取完成,页面将自动刷新
package interview;
// 这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时,你可以跳到 i + arr[i] 或者 i - arr[i]。
//请你判断自己是否能够跳到对应元素值为 0 的 任一 下标处。
//注意,不管是什么情况下,你都无法跳到数组之外。
//链接:https://leetcode-cn.com/problems/jump-game-iii
public class CanReach {
public static boolean canReach(int[] arr,int start) {
int N = arr.length;
boolean[] visited = new boolean[N];
return brackTrace(arr,start,visited);
}
public static boolean brackTrace(int[] arr,int index,boolean[] visited){
if (index < 0 || index >= arr.length || visited[index]){
return false;
}
if (arr[index] == 0){
return true;
}
visited[index] = true;
return brackTrace(arr,index + arr[index],visited) || brackTrace(arr,index + arr[index],visited);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。