From bae111aa50e06e6c18595a0e6f55ee4f75c48d73 Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Tue, 29 Oct 2024 22:22:44 +0530 Subject: [PATCH] Create 2684. Maximum Number of Moves in a Grid --- 2684. Maximum Number of Moves in a Grid | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 2684. Maximum Number of Moves in a Grid 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; + } +};