<html>
<head>
<script language="javascript" type="text/javascript">
function findMissingNumbersInSequence(sequence) {
var missingSequence = [];
/* Sort the sequence passed to this function */
sequence.sort(function(a, b) {return a - b});
/* Get the highest value in the sequence */
var highestValue = 0;
for (var x = 0; x < sequence.length; x++) {
if (sequence[x] > highestValue) { highestValue = sequence[x]; }
}
/* Iterate through the array sequence that has missing numbers */
var currentNumber = 1;
for (var i = 0; i < sequence.length; i++) {
var currentI = 0, nextI = 0;
currentI = sequence[i];
if ((i + 1) < sequence.length) { nextI = sequence[i + 1]; }
if (nextI > 0) {
if (currentI != currentNumber) {
/* Iterate through the two known numbers from the sequence array to find the missing numbers */
for (var y = currentI; y < (nextI - 1); y++) {
var missingNumber = y + 1;
currentNumber = missingNumber;
/* Save missing number to the missingSequence array that will be returned */
missingSequence.push(missingNumber);
}
}
}
}
return(missingSequence);
}
</script>
</head>
<body onload='javascript:document.getElementById("output").value = findMissingNumbersInSequence([1,2,4,5,7,19,9,12,16,8]);'>
Print out the missing numbers from the array sequence: [1,2,4,5,7,19,9,12,16,8]<br />
<span style="font-size:9pt">For reference, the missing numbers returned should be: [3,6,10,11,13,14,15,17,18]</span>
<br /><br />
<strong>Function Logic Output:</strong><br />
<textarea name="output" id="output" rows="4" cols="30"></textarea>
</body>
</html>