( , [i, j]), . O (n). n - .
# .
public static int[,] mindi_loop(int[,] original_mat)
{
int[,] mindi_mat = new int[original_mat.GetLength(0), original_mat.GetLength(1)];
for (int i = 0; i < original_mat.GetLength(0); i++)
{
for (int j = 0; j < original_mat.GetLength(1); j++)
{
if (i > 0 && j > 0)
{
mindi_mat[i, j] = Math.Min(mindi_mat[i - 1, j], mindi_mat[i, j - 1]) + original_mat[i, j];
}
else if (i > 0 && j < 1)
{
mindi_mat[i, j] = mindi_mat[i - 1, j] + original_mat[i, j];
}
else if (j > 0 && i < 1)
{
mindi_mat[i, j] = mindi_mat[i, j - 1] + original_mat[i, j];
}
else if (i==0 && j == 0)
{
mindi_mat[i, j] = original_mat[i, j];
}
}
}
return mindi_mat;
}