JavaScript Program to Find Missing Number in Matrix
Last Updated :
13 Nov, 2023
You are presented with a two-dimensional matrix, matrix[][]
where each row contains an ordered sequence of positive integers. The task is to find the missing number in the matrix.
NOTE: Each row is a sequence of unique positive integers, arranged in ascending order.
Approach 1: Using Summation of First N Natural Numbers
- Flatten the Matrix: Convert the 2D matrix into a 1D array to work with the numbers more easily.
- Calculate Expected Total: Determine the total sum of the first N natural numbers (1 to N), where N is the length of the flattened array plus one.
- Calculate Actual Sum: Iterate through the flattened array and compute the sum of its elements.
- Find the Missing Number: Subtract the actual sum from the expected total to find the missing number.
- Display the Result: Print the missing number to the console.
We know,
Sum of first n natural numbers is (n * (n + 1)) / 2;
Example: In this example, the code efficiently calculates and finds the missing number in a 2D matrix by comparing the expected and actual sums of the numerical sequence using JavaScript.
Javascript
const matrix = [
[1, 2],
[4, 5],
[6, 8],
[7, 9]
];
const flattenedArray = matrix.flat();
const n = flattenedArray.length + 1;
const sumOfFirstN = (n * (n + 1)) / 2;
let sumOfArray = 0;
for (let i = 0; i < n - 1; i++) {
sumOfArray += flattenedArray[i];
}
const missingNumber = sumOfFirstN - sumOfArray;
console.log( "Missing Number: " , missingNumber);
|
Approach 2: Using Hashing
- Flatten the Matrix: Convert the 2D matrix into a 1D array to work with individual elements more easily.
- Create a Temporary Array: Create a temporary array
temp
of size n + 1
, where n
is the length of the flattened array. Initialize all elements of temp
to 0.
- Mark Existing Numbers: Iterate through the flattened array. For each element, set the corresponding index in the
temp
array to 1, indicating that the number exists in the sequence.
- Find the Missing Number: Iterate through the
temp
array. The first index with a value of 0 corresponds to the missing number. Add 1 to the index to get the missing number itself.
- Display the Result: Print the missing number to the console.
Example: In this example, the code efficiently finds the missing number in a 2D matrix by marking existing numbers and identifying the missing one using JavaScript.
Javascript
const matrix = [
[1, 2],
[3, 4],
[6, 7]
];
const flattenedArray = matrix.flat();
let n = flattenedArray.length;
let temp = new Array(n + 1).fill(0);
for (let i = 0; i < n; i++) {
temp[flattenedArray[i] - 1] = 1;
}
let missingNumber = 0;
for (let i = 0; i <= n; i++) {
if (temp[i] === 0) {
missingNumber = i + 1;
break ;
}
}
console.log( "Missing Number:" , missingNumber);
|
Share your thoughts in the comments
Please Login to comment...