aboutsummaryrefslogtreecommitdiff
path: root/toeplitz_matrix.cpp
blob: 8a1bec480ba950105b13ac8ac856e774fc015f8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "leetcode.h"

class Solution {
public:
  bool isToeplitzMatrix(vvd(int) & matrix) {
    int m = matrix.size(), n = matrix[0].size();
    for (int i = 1; i < m; i++)
      for (int j = 1; j < n; j++)
        if (matrix[i][j] != matrix[i - 1][j - 1])
          return false;
    return true;
  }
};

int main() {
  Solution obj;
  // true - all diagonals have the same elements
  vvd(int) matrix = {{1, 2, 3, 4}, {5, 1, 2, 3}, {9, 5, 1, 2}};
  // false - diagonals do not share same elements
  vvd(int) matrix2 = {{1, 2}, {2, 2}};

  if (obj.isToeplitzMatrix(matrix))
    cout << "true";
  else
    cout << "false";
  if (obj.isToeplitzMatrix(matrix2))
    cout << "\ntrue";
  else
    cout << "\nfalse";
}