Hackerearth Arrays Problem: Most Frequent
- Get link
- X
- Other Apps
Hackerearth Problem and solution in Javascript
Problem statement:
Mr. Bourneville loves programming and he likes to face new programming challenges. After completing many challenges he has now given you one challenge which is one of his favorites. He has given you a list of N random integers and he wants you to find the integer which has the maximum frequency in the given list.
Mr. Bourneville already has a solution for this but he is not satisfied with his solution. He wants you to write a shortest possible code for this task. In case Frequency of two numbers is same print the smaller one
Input:
First line of input contains N, number of integers.
Second line will contains N spaces separated integers.
Output:
Print the most frequent integer.
Contraints:
3<=N<=104
-106<=Integer<=106
Sample Input:
5 1 1 1 2 2
Sample Output:
1
ExplanationClearly, count of 1 more than count of 2.
Problem link: click here.
Solution Approach:
1). we will sort the array in ascending order.
2). then we will traverse through the array keeping the record of the number which has occurred maximum number of times till now.
3) we will update max Frequency variable only if the current element's frequency is more than max frequency.
Code Solution:
// this part is for reading the input.
process.stdin.resume();
process.stdin.setEncoding("utf-8");
var stdin_input = "";
process.stdin.on("data", function (input) {
stdin_input += input;
});
process.stdin.on("end", function () {
main(stdin_input);
});
function main(input) {
var singleLine = input.split('\n');
var n = singleLine[0].split(',')[0];
var arr = singleLine[1].split(' ');
arr=arr.sort((a,b)=>a-b) // array sorted in ascending order
let maxNumber=0,
maxFreq=0,
currentNumber=arr[0],
currentFreq=0;
// traversing through each element of array
arr.forEach((e)=>{
if(e===currentNumber){
currentFreq++;
}
else{
currentNumber=e
currentFreq=1
}
if(currentFreq>maxFreq){
maxFreq=currentFreq
maxNumber=e
}
})
console.log(maxNumber) //printing the number occurred maximum times.
}
- Get link
- X
- Other Apps
Comments
Post a Comment