0
点赞
收藏
分享

微信扫一扫

Leetcode-1306. 跳跃游戏 III

九点韶留学 2022-02-12 阅读 29
leetcode

链接

1306. 跳跃游戏 III

题目

示例

说明

  • 1 <= arr.length <= 5 * 10^4
  • 0 <= arr[i] < arr.length
  • 0 <= start < arr.length

思路

DFS深度优先搜索,由于所有数都为正整数,已经搜索过的位置设置为-1。

C++ Code

class Solution {
public:
    bool dfs(vector<int>& arr, int start){
        if(start<0||start>=arr.size()||arr[start]==-1) return false;
        int step=arr[start];
        arr[start]=-1;
        return step==0||dfs(arr,start+step)||dfs(arr,start-step);
    }

    bool canReach(vector<int>& arr, int start) {
        return dfs(arr,start);
    }

};
举报

相关推荐

0 条评论