Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added MissingNumber.zip
Binary file not shown.
45 changes: 45 additions & 0 deletions findmissingnumber.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>Find Missing Number</title>
<script type="text/javascript" src="myJS.js"></script>
</head>
<body>

<div>

<h1>Select a text file to find missing number</h1>
<p>
1) Each new line will contain a set of sequential numbers with one number missing.<br />
2) Each series will be comma delimited and in a random order.
</p>
<div>
Select a text file:
<input type="file" id="textfile" onchange="find()" />
</div>
<div id="result" style="display:none">
<table style="width:90%" border="1">
<tr><td style="width:50%">Input:</td>
<td>Output:</td></tr>
<tr>
<td>
<div id="showfile">
</div>
</td>
<td>
<div id="showmissing"></div>
</td>
</tr>
</table>


</div">
</div>


</body>
</html>
59 changes: 59 additions & 0 deletions myJS.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// JavaScript source code
var number_array = [];
var validFileExtensions = [".txt"];
function find() {
var textfile = document.getElementById('textfile');
var showfile = document.getElementById('showfile');
var file = textfile.files[0];
var textType = /text.*/;
if (hasExtension('textfile', validFileExtensions) ){
var reader = new FileReader();
reader.onload = function (e) {
showfile.innerText = reader.result;
var numbers = reader.result.toString().split("\n");
var number_list, missing_number,missing_string="";
for (var i = 0; i < numbers.length; i++) {
number_list = numbers[i].split(",");
if (number_list.length > 0) {
number_array[i] = number_list;
missing_number = findmissing(number_array[i]);
missing_string += missing_number +"\n";
}

}
document.getElementById("showmissing").innerText = missing_string
//alert(number_array.length)
}
reader.readAsText(file);

document.getElementById("result").style.display = "";
} else {
showfile.innerText = "Please select a text file!"
}

}

function findmissing(array) {
var size, max, min, sum_all=0,sum=0, i;
max = Math.max.apply(null, array);
min = Math.min.apply(null, array);
size = array.length;
sum_all = (size+1) * (min + max) / 2;
for( i=0;i<size;i++){
sum += parseInt(array[i]);

}
return sum_all - sum;
}
function hasExtension(inputID, exts) {
var fileName = document.getElementById(inputID).value;
return (new RegExp('(' + exts.join('|').replace(/\./g, '\\.') + ')$')).test(fileName);
}

Array.prototype.max = function () {
return Math.max.apply(null, this);
};

Array.prototype.min = function () {
return Math.min.apply(null, this);
};
5 changes: 5 additions & 0 deletions number.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
1,2,3,4,5,6,7,8,9,10,12
24,26,27,29,28
1,2,4,5
99,100,101,102,103,104,105,107
109,105,107,108,106,110,112,111,118,116,115,114,117