Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function SimpleHash(str) {
- var hash = 0;
- for (var i = 0; i < str.length; i++){
- hash += str.charCodeAt(i);
- }
- return hash;
- }
- function main() {
- WSH.echo('Type string, please')
- var str = WScript.StdIn.ReadLine();
- if (str === ''){
- WSH.echo('Input file is empty');
- return;
- }
- WSH.echo('Type substring')
- var subStr = WScript.StdIn.ReadLine();
- if (subStr === ''){
- WSH.echo('Wrong input substring');
- return;
- }
- var start;
- var end;
- var time;
- var collision = 0;
- var strHash = 0;
- var subStrHash = SimpleHash(subStr);
- var arr = new Array;
- var hoho = 0;
- for (var i = 0; i < str.length - subStr.length + 1; i++){
- if(i === 0){
- strHash = SimpleHash(str.substr(0, subStr.length));
- }
- else{
- strHash += str.charCodeAt(i + subStr.length - 1) - str.charCodeAt(i - 1);
- }
- if (strHash === subStrHash){
- var j = 0;
- while(str.charAt(i + j) === subStr.charAt(j)){
- j++;
- if (j === subStr.length){
- arr[hoho] = i+1;
- hoho++;
- collision -= 1;
- break;
- }
- }
- collision++;
- }
- }
- WSH.echo('Amount of collisions: ' + collision);
- for (i=0; i<arr.length; i++)
- WSH.echo(arr[i]);
- }
- main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement