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

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 : 2ExplanationThe 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 : 3ExplanationThe 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 10ExplanationIn 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

## CPP

`// CPP program to find the frequency of k` `// in matrix where m(i, j)=i+j` `#include <bits/stdc++.h>` `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

`<?php` `// PHP program to find the frequency of k` `// in matrix where m(i, j)=i+j` `function` `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)` ` ` `echo` `" element not exist \n "` `;` ` ` `else` ` ` `echo` `" Frequency of "` `, ` `$k` ` ` `, ` `" is "` `, ` `$freq` `, ` `"\n"` `;` ` ` `// This code is contributed by anuj_67.` `?>` |

## Javascript

`<script>` `// Javascript program to find the frequency of k` `// in matrix where m(i, j)=i+j` `function` `find(n, k)` `{` ` ` `if` `(n + 1 >= k)` ` ` `return` `(k - 1);` ` ` `else` ` ` `return` `(2 * n + 1 - k);` `}` `// Driver Code` `var` `n = 4, k = 7;` `var` `freq = find(n, k);` `if` `(freq < 0)` ` ` `document.write( ` `" element not exist <br>"` `);` `else` ` ` `document.write( ` `" Frequency of "` `+ k` ` ` `+ ` `" is "` `+ freq + ` `"<br>"` `);` `</script>` |

**Output: **

Frequency of 7 is 2

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.