# Count frequency of k in a matrix of size n where matrix(i, j) = i+j

• Difficulty Level : Easy
• Last Updated : 01 Aug, 2022

Given a matrix of size n*n. Count the frequency of given element k in that matrix. Here base index is 1.

Examples:

```Input : n = 4, k = 7
Output : 2
Explanation
The matrix will be
2 3 4 5
3 4 5 6
4 5 6 7
5 6 7 8
in the given matrix where M(i, j) = i+j,
frequency of 7 is 2

Input : n = 5, k = 4
Output : 3
Explanation
The matrix will be
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
6 7 8 9 10
Explanation
In the given matrix where M(i, j) = i+j,
frequency of 4 is 3```

First method

1. Construct a matrix of size n*n.
2. Fill the value with M(i, j)=i+j.(recall that here base index is 1)
3. Iteratively traverse the matrix and count the frequency of a given element.

This method is not that much efficient because if the matrix size is very large it’s will result in a Time limit exceeded. Time complexity will be O(n^2).

Efficient method

In this method, we avoid creating a matrix of size n*n.
for example
if n = 10 the matrix will be

```2  3  4  5  6  7  8  9  10 11
3  4  5  6  7  8  9  10 11 12
4  5  6  7  8  9  10 11 12 13
5  6  7  8  9  10 11 12 13 14
6  7  8  9  10 11 12 13 14 15
7  8  9  10 11 12 13 14 15 16
8  9  10 11 12 13 14 15 16 17
9  10 11 12 13 14 15 16 17 18
10 11 12 13 14 15 16 17 18 19
11 12 13 14 15 16 17 18 19 20  ```

Now, notice how the values are the same in the secondary Diagonal, and we can also find a pattern in the count it increases like 1, 2, 3, 4,
Here we can see that
If (n+1)>=k then the frequency of k is k-1
Else frequency will be 2*n+1-k

Implementation:

## CPP

 `// CPP program to find the frequency of k``// in matrix where m(i, j)=i+j``#include ``using` `namespace` `std;``int` `find(``int` `n, ``int` `k)``{``    ``if` `(n + 1 >= k)``        ``return` `(k - 1);``    ``else``        ``return` `(2 * n + 1 - k);``}` `// Driver Code``int` `main()``{``    ``int` `n = 4, k = 7;``    ``int` `freq = find(n, k);``    ``if` `(freq < 0)``        ``cout << ``" element not exist \n "``;``    ``else``        ``cout << ``" Frequency of "` `<< k``             ``<< ``" is "` `<< freq << ``"\n"``;``    ``return` `0;``}`

## Java

 `// Java program to find the``// frequency of k in matrix``// in matrix where m(i, j)=i+j``import` `java.util.*;``import` `java.lang.*;` `public` `class` `GfG{` `    ``public` `static` `int` `find(``int` `n, ``int` `k)``    ``{``        ``if` `(n + ``1` `>= k)``            ``return` `(k - ``1``);``        ``else``            ``return` `(``2` `* n + ``1` `- k);``    ``}``        ` `    ``// Driver function``    ``public` `static` `void` `main(String argc[])``    ``{``        ``int` `n = ``4``, k = ``7``;``        ``int` `freq = find(n, k);``        ``if` `(freq < ``0``)``            ``System.out.print(``" element"``            ``+ ``" not exist \n "``);``        ``else``            ``System.out.print(``" Frequency"``            ``+ ``" of "` `+ k + ``" is "` `+``            ``freq + ``"\n"``);``    ``}``}` `// This code is contributed by Sagar Shukla`

## Python3

 `# Python program to find``# the frequency of k``# in matrix where``# m(i, j)=i+j` `import` `math` `def` `find( n,  k):` `    ``if` `(n ``+` `1` `>``=` `k):``        ``return` `(k ``-` `1``)``    ``else``:``        ``return` `(``2` `*` `n ``+` `1` `-` `k)` ` ` `# Driver Code``n ``=` `4``k ``=` `7` `freq ``=` `find(n, k)` `if` `(freq < ``0``):``    ``print` `( ``" element not exist"``)``else``:``    ``print``(``" Frequency of "` `, k ,``" is "` `, freq )` `# This code is contributed``# by Gitanjali.`

## C#

 `// C# program to find the``// frequency of k in matrix``// in matrix where m(i, j)=i+j``using` `System;` `public` `class` `GfG{` `    ``public` `static` `int` `find(``int` `n, ``int` `k)``    ``{``        ``if` `(n + 1 >= k)``            ``return` `(k - 1);``        ``else``            ``return` `(2 * n + 1 - k);``    ``}``        ` `    ``// Driver function``    ``public` `static` `void` `Main()``    ``{``        ``int` `n = 4, k = 7;``        ``int` `freq = find(n, k);``        ``if` `(freq < 0)``            ``Console.WriteLine(``" element"``            ``+ ``" not exist "``);``        ``else``            ``Console.WriteLine(``" Frequency"``            ``+ ``" of "` `+ k + ``" is "` `+``            ``freq );``    ``}``}` `// This code is contributed by vt_m`

## PHP

 `= ``\$k``)``        ``return` `(``\$k` `- 1);``    ``else``        ``return` `(2 * ``\$n` `+ 1 - ``\$k``);``}` `    ``// Driver Code``    ``\$n` `= 4;``    ``\$k` `= 7;``    ``\$freq` `= find(``\$n``, ``\$k``);``    ``if` `(``\$freq` `< 0)``        ``echo` `" element not exist \n "``;``    ``else``        ``echo` `" Frequency of "` `, ``\$k``            ``, ``" is "` `, ``\$freq` `, ``"\n"``;``            ` `// This code is contributed by anuj_67.``?>`

## Javascript

 ``

Output

` Frequency of 7 is 2`

Time Complexity: O(1)
Auxiliary Space: O(1)

This article is contributed by Aarti Rathi. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

My Personal Notes arrow_drop_up