diff options
Diffstat (limited to 'other/jump_game3.cpp')
-rw-r--r-- | other/jump_game3.cpp | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/other/jump_game3.cpp b/other/jump_game3.cpp deleted file mode 100644 index 03f7d37..0000000 --- a/other/jump_game3.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include "leetcode.h" - -class Solution { -public: - bool canReach(vector<int> &arr, int start) { - vector<bool> visited(arr.size(), false); - return dfs(arr, start, visited); - } - -private: - bool dfs(vector<int> &arr, int curr, vector<bool> &k) { - if ((curr < 0) || (curr >= arr.size()) || k[curr]) - return false; - if (arr[curr] == 0) - return true; - k[curr] = true; - return dfs(arr, curr + arr[curr], k) || dfs(arr, curr - arr[curr], k); - } -}; - -int main() { - Solution obj; - vector<int> arr1 = {4, 2, 3, 0, 3, 1, 2}, arr2 = {3, 0, 2, 1, 2}; - testBool(obj.canReach(arr1, 5)); // true - testBool(obj.canReach(arr1, 0)); // true - testBool(obj.canReach(arr2, 2)); // false -} |