Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Cách kiểm tra ma trận Toeplitz trong C#

Ma trận Toeplitz: mọi đường chéo từ trên-trái xuống dưới-phải có cùng giá trị.

Ví dụ 1

[[1,2,3,4],
 [5,1,2,3],
 [9,5,1,2]]

Output: true

Các đường chéo: "[9]", "[5,5]", "[1,1,1]", "[2,2,2]", "[3,3]", "[4]" - tất cả phần tử giống nhau.

Ví dụ 2

[[1,2],
 [2,2]]

Output: false

Đường chéo "[1,2]" có phần tử khác nhau.

Code

public class Matrix
{
    public bool IsToeplitzMatrix(int[,] mat)
    {
        int rows = mat.GetLength(0);
        int cols = mat.GetLength(1);
        for (int i = 1; i < rows; i++)
        {
            for (int j = 1; j < cols; j++)
            {
                if (mat[i, j] != mat[i - 1, j - 1])
                {
                    return false;
                }
            }
        }
        return true;
    }
}

static void Main(string[] args)
{
    Matrix m = new Matrix();
    int[,] mat = new int[3, 4] { { 1, 2, 3, 4 }, { 5, 1, 2, 3 }, { 9, 5, 1, 2 } };
    Console.WriteLine(m.IsToeplitzMatrix(mat)); // Output: True
}

Kết quả đầu ra

True