Max 10 numbers in array including duplicates
by divyanshu013
JavaScript
var input = [2,7,3,4,6,9,2,3,16,23,76,43,13,98,43,123,43,99,56,87,98,65,54,36];
var max = [];
var sm = 0, lg = input[0];
for(var n = 0; n < 10; ++n) {
max.push(input[n]);
}
var i;
function smallest() {
var small = max[0], pos = 0;
for(var k = 1; k < max.length; ++k) {
if(max[k] < small) {
pos = k;
small = max[pos]; // was logical error here, new small not updated
}
}
return pos;
}
sm = smallest();
for(var n = 1; n < max.length; ++n) {
if(max[n] > lg) {
lg = max[n];
}
}
for(i = 10; i < input.length; ++i) {
// length
// max full
if(input[i] > max[sm]) { // was making mistake comparing with the position instead of value
lg = input[i];
max[sm] = lg;
sm = smallest(); // new position
}
}
console.info(max);