方阵的两条对角线上的逐行公共元素
给定一个方阵,找出在同一行中相同且在主对角线和次对角线中相同的数字的计数。
例子 :
Input : 1 2 1
4 5 2
0 5 1
Output : 2
Primary diagonal is 1 5 1
Secondary diagonal is 1 5 0
Two elements (1 and 5) match
in two diagonals and same.
Input : 1 0 0
0 1 0
0 0 1
Output : 1
Primary diagonal is 1 1 1
Secondary diagonal is 0 1 0
Only one element is same.
我们可以在 O(n) 时间、O(1) 空间和一次遍历中实现这一点。我们可以在主对角线的第 i 行中找到当前元素作为 mat[i][i],在次对角线的第 i 个元素作为 mat[i][ni-1]。
C++
// CPP program to find common elements in
// two diagonals.
#include
#define MAX 100
using namespace std;
// Returns count of row wise same
// elements in two diagonals of
// mat[n][n]
int countCommon(int mat[][MAX], int n)
{
int res = 0;
for (int i=0;i
Java
// Java program to find common
// elements in two diagonals.
import java.io.*;
class GFG
{
int MAX = 100;
// Returns count of row wise same elements
// in two diagonals of mat[n][n]
static int countCommon(int mat[][], int n)
{
int res = 0;
for (int i = 0; i < n; i++)
if (mat[i][i] == mat[i][n - i - 1])
res++;
return res;
}
// Driver Code
public static void main(String args[])throws IOException
{
int mat[][] = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
System.out.println(countCommon(mat, 3));
}
}
// This code is contributed by Anshika Goyal.
Python3
# Python3 program to find common
# elements in two diagonals.
Max = 100
# Returns count of row wise same
# elements in two diagonals of
# mat[n][n]
def countCommon(mat, n):
res = 0
for i in range(n):
if mat[i][i] == mat[i][n-i-1] :
res = res + 1
return res
# Driver Code
mat = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
print(countCommon(mat, 3))
# This code is contributed by Anant Agarwal.
C#
// C# program to find common
// elements in two diagonals.
using System;
class GFG {
// Returns count of row wise same
// elements in two diagonals of
// mat[n][n]
static int countCommon(int [,]mat, int n)
{
int res = 0;
for (int i = 0; i < n; i++)
if (mat[i,i] == mat[i,n - i - 1])
res++;
return res;
}
// Driver Code
public static void Main()
{
int [,]mat = {{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
Console.WriteLine(countCommon(mat, 3));
}
}
// This code is contributed by vt_m.
PHP
Javascript
输出 :
1