Example:
#1
var int_array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
// should output 7+9 = 16
#2
var int_array = [9, 5, 3, 2, 8, 14, 5, 7, 3, 11, 12]
// should output 12+14 = 26
Following is the solution to the above interview question.
//var int_array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var int_array = [9, 5, 3, 2, 8, 14, 5, 7, 3, 11, 12];
var first_max_number = Math.max.apply(null, int_array); //Find first max number
var index = int_array.indexOf(first_max_number);
if (index > -1) { //Once get max number pop from array
int_array.splice(index, 1);
}
var second_max_number =0;
for (i=0; i < int_array.length; i++){ //for second max number
second_max_number = Math.max.apply(null, int_array); //find second max number
if(isEven(first_max_number) && isEven(second_max_number)){ // check both number should be event or odd
break; //Once condition get satisfy, break the look
}else if(isOdd(first_max_number) && isOdd(second_max_number)){
break;
}
index = int_array.indexOf(second_max_number);
if (index > -1) { //pop second max number from the array
int_array.splice(index, 1);
}
}
var sum = first_max_number + second_max_number;
alert(first_max_number +" + "+ second_max_number +" = "+ sum);
function isEven(n) { //check event number
return n % 2 == 0;
}
function isOdd(n) { // check odd number
return Math.abs(n % 2) == 1;
}
Hope it will help you to in the future.






















