csharp 如何在多维数组中找到具有最高和的大小为2乘2的子矩阵的示例。从计算机程序基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 如何在多维数组中找到具有最高和的大小为2乘2的子矩阵的示例。从计算机程序基础相关的知识,希望对你有一定的参考价值。

// Declare and initialize the matrix
int[,] matrix = {
  { 0, 2, 4, 0, 9, 5 },
  { 7, 1, 3, 3, 2, 1 },
  { 1, 3, 9, 8, 5, 6 },
  { 4, 6, 7, 9, 1, 0 }
};

// Find the maximal sum platform of size 2 x 2
long bestSum = long.MinValue;
int bestRow = 0;
int bestCol = 0;

for (int row = 0; row < matrix.GetLength(0) - 1; row++)
{
  for (int col = 0; col < matrix.GetLength(1) - 1; col++)
  {
    long sum = matrix[row, col] + matrix[row, col + 1] +
    matrix[row + 1, col] + matrix[row + 1, col + 1];
    if (sum > bestSum)
    {
      bestSum = sum;
      bestRow = row;
      bestCol = col;
    }
  }
}

// Print the result
Console.WriteLine("The best platform is:");
Console.WriteLine(" {0} {1}",
matrix[bestRow, bestCol],
matrix[bestRow, bestCol + 1]);
Console.WriteLine(" {0} {1}",
matrix[bestRow + 1, bestCol],
matrix[bestRow + 1, bestCol + 1]);
Console.WriteLine("The maximal sum is: {0}", bestSum);

//  The best platform is:
//  9 8
//  7 9
//  The maximal sum is: 33

以上是关于csharp 如何在多维数组中找到具有最高和的大小为2乘2的子矩阵的示例。从计算机程序基础的主要内容,如果未能解决你的问题,请参考以下文章

如何找到具有最小k长度和最大和的子数组?

在 Swift 中通过计数从多维数组中找到最大的数组

csharp 如何声明,分配和初始化一维,多维和锯齿状数组的示例。

csharp 如何声明,分配和初始化一维,多维和锯齿状数组的示例。

csharp 如何使用随机数填充多维数组并使用方法打印它的示例。

csharp 如何使用随机数填充多维数组并使用方法打印它的示例。