From f3cbd1edc9322d4bbec25a7de73b29d2f0380425 Mon Sep 17 00:00:00 2001 From: Rakshaa Viswanathan <46165429+rakshaa2000@users.noreply.github.com> Date: Tue, 1 Sep 2020 09:55:04 +0530 Subject: [PATCH] added documentation Added description of the problem and a brief explanation of the algorithm. --- greedy_algorithms/jumpgame.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/greedy_algorithms/jumpgame.cpp b/greedy_algorithms/jumpgame.cpp index 64b82c1a9..fbe4020c4 100644 --- a/greedy_algorithms/jumpgame.cpp +++ b/greedy_algorithms/jumpgame.cpp @@ -1,3 +1,11 @@ +/** + * @file + * \brief Implementation of an algorithm to solve the jumping game problem + * \details + * This algorithm is a greedy algorithm. + * This solution takes in input as a vector and output as a boolean to check if you can reach the last position. + * @author rakshaa2000 +*/ //Jump Game: /*Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. @@ -6,6 +14,14 @@ Determine if you are able to reach the last index.*/ #include #include +//Implements the algorithm +/*We name the indices good and bad based on whether we can reach the destination if we start at that position. + *We initialize the last index as lastPos. + *Here, we start from the end of the array and check if we can ever reach the first index. + *We check if the sum of the index and the maximum jump count given is greater than or equal to the lastPos. + *If yes, then that is the last position you can reach starting from the back. + *After the end of the loop, if we reach the lastPos as 0, then the destination can be reached from the start position. +*/ bool canJump(std::vector nums) { auto lastPos = nums.size() - 1; for (auto i = nums.size() - 1; i >= 0; i--) {