0
0
DSA Cprogramming~20 mins

Minimum Path Sum in Grid in DSA C - Practice Problems & Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Minimum Path Sum Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of Minimum Path Sum Calculation
What is the output of the following C code that calculates the minimum path sum in a 3x3 grid?
DSA C
int grid[3][3] = {
  {1, 3, 1},
  {1, 5, 1},
  {4, 2, 1}
};

int dp[3][3];

// Initialize dp
for (int i = 0; i < 3; i++) {
  for (int j = 0; j < 3; j++) {
    dp[i][j] = 0;
  }
}

// Base case
 dp[0][0] = grid[0][0];

// First row
for (int j = 1; j < 3; j++) {
  dp[0][j] = dp[0][j-1] + grid[0][j];
}

// First column
for (int i = 1; i < 3; i++) {
  dp[i][0] = dp[i-1][0] + grid[i][0];
}

// Fill dp
for (int i = 1; i < 3; i++) {
  for (int j = 1; j < 3; j++) {
    dp[i][j] = (dp[i-1][j] < dp[i][j-1] ? dp[i-1][j] : dp[i][j-1]) + grid[i][j];
  }
}

printf("%d\n", dp[2][2]);
A7
B8
C9
D6
Attempts:
2 left
💡 Hint
Trace the path from top-left to bottom-right choosing the minimum sum at each step.
Predict Output
intermediate
2:00remaining
Minimum Path Sum with Negative Values
What is the output of this C code calculating minimum path sum in a 2x3 grid with negative values?
DSA C
int grid[2][3] = {
  {1, -3, 2},
  {4, 5, -1}
};

int dp[2][3];

// Initialize dp
for (int i = 0; i < 2; i++) {
  for (int j = 0; j < 3; j++) {
    dp[i][j] = 0;
  }
}

// Base case
 dp[0][0] = grid[0][0];

// First row
for (int j = 1; j < 3; j++) {
  dp[0][j] = dp[0][j-1] + grid[0][j];
}

// First column
for (int i = 1; i < 2; i++) {
  dp[i][0] = dp[i-1][0] + grid[i][0];
}

// Fill dp
for (int i = 1; i < 2; i++) {
  for (int j = 1; j < 3; j++) {
    dp[i][j] = (dp[i-1][j] < dp[i][j-1] ? dp[i-1][j] : dp[i][j-1]) + grid[i][j];
  }
}

printf("%d\n", dp[1][2]);
A3
B1
C4
D2
Attempts:
2 left
💡 Hint
Consider negative values carefully when adding.
🔧 Debug
advanced
2:00remaining
Identify the Error in Minimum Path Sum Code
What error does the following C code produce when calculating minimum path sum in a 2x2 grid?
DSA C
int grid[2][2] = {{1,2},{1,1}};
int dp[2][2];

for (int i = 0; i <= 2; i++) {
  for (int j = 0; j <= 2; j++) {
    dp[i][j] = 0;
  }
}

dp[0][0] = grid[0][0];

for (int i = 1; i < 2; i++) {
  dp[i][0] = dp[i-1][0] + grid[i][0];
}

for (int j = 1; j < 2; j++) {
  dp[0][j] = dp[0][j-1] + grid[0][j];
}

for (int i = 1; i < 2; i++) {
  for (int j = 1; j < 2; j++) {
    dp[i][j] = (dp[i-1][j] < dp[i][j-1] ? dp[i-1][j] : dp[i][j-1]) + grid[i][j];
  }
}

printf("%d\n", dp[1][1]);
ACompilation error due to missing semicolon
BPrints incorrect minimum path sum
CSegmentation fault due to out-of-bounds array access
DNo error, prints correct result
Attempts:
2 left
💡 Hint
Check the loop conditions for array indexing.
Predict Output
advanced
2:00remaining
Minimum Path Sum with Single Row Grid
What is the output of this C code calculating minimum path sum in a 1x4 grid?
DSA C
int grid[1][4] = {{2, 3, 1, 5}};
int dp[1][4];

// Initialize dp
for (int j = 0; j < 4; j++) {
  dp[0][j] = 0;
}

// Base case
 dp[0][0] = grid[0][0];

// First row
for (int j = 1; j < 4; j++) {
  dp[0][j] = dp[0][j-1] + grid[0][j];
}

printf("%d\n", dp[0][3]);
A11
B10
C9
D8
Attempts:
2 left
💡 Hint
Sum all elements in the single row.
🧠 Conceptual
expert
2:00remaining
Minimum Path Sum Algorithm Complexity
What is the time complexity of the dynamic programming solution to the Minimum Path Sum problem in an m x n grid?
AO(m + n)
BO(m * n)
CO(m^2 * n^2)
DO(log(m * n))
Attempts:
2 left
💡 Hint
Consider how many cells are processed and how many operations per cell.