
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Lucky Numbers in a Matrix in JavaScript
Given a m * n matrix of distinct numbers, we have to return all lucky numbers in the 2-D array (matrix) in any order.
A lucky number is an element of the matrix such that it is the minimum element in its row and maximum in its column.
For example − If the input array is −
const arr = [ [3,7,8], [9,11,13], [15,16,17] ];
Then the output should be −
const output = [15];
because 15 is the only lucky number since it is the minimum in its row and the maximum in its column.
Example
The code for this will be −
const arr = [ [3,7,8], [9,11,13], [15,16,17] ]; const luckyNumbers = (arr, res = []) => { let M = arr.length, N = arr[0].length; let min = Array(M).fill( Infinity); let max = Array(N).fill(-Infinity); for (let i = 0; i < M; ++i) for (let j = 0; j < N; ++j) min[i] = Math.min(min[i], arr[i][j]), max[j] = Math.max(max[j], arr[i][j]); for (let i = 0; i < M; ++i) for (let j = 0; j < N; ++j) if (min[i] == max[j]) res.push(arr[i][j]); return res; }; console.log(luckyNumbers(arr));
Output
And the output in the console will be −
[15]
Advertisements