diff --git a/2684. Maximum Number of Moves in a Grid b/2684. Maximum Number of Moves in a Grid new file mode 100644 index 0000000..6a20c7f --- /dev/null +++ b/2684. Maximum Number of Moves in a Grid @@ -0,0 +1,33 @@ +class Solution { +public: + int maxMoves(vector>& grid) { + int n = grid.size(); + int m = grid[0].size(); + + vector> dp(n, vector(m, 0)); + for(int i = 0; i= 0; j--) { + for (int i = 0; i < n; i++) { + int maxMoves = 0; + if (i - 1 >= 0 && grid[i - 1][j + 1] > grid[i][j]) { + maxMoves = max(maxMoves,dp[i - 1][j + 1]); + } + if (grid[i][j + 1] > grid[i][j]) { + maxMoves = max(maxMoves, dp[i][j + 1]); + } + if (i + 1 < n && grid[i + 1][j + 1] > grid[i][j]) { + maxMoves = max(maxMoves, dp[i + 1][j + 1]); + } + dp[i][j] = 1 + maxMoves; + } + } + + int maxi = 0; + for (int i = 0; i < n; i++) { + maxi = max(maxi, dp[i][0]); + } + return maxi - 1; + } +};