mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 09:28:26 +08:00
Update keyFinder.js
1. modified the identifiers and used the suitable identifiers for the variables 2. leave the loop when a key is match and found to increase the speed of searching in this stage of development 3. return the key number if founded, return 0 if found nothing
This commit is contained in:
@ -5,11 +5,9 @@ Note: This is a draft version, please help to modify, Thanks!
|
|||||||
function keyFinder(str){ // str is used to get the input of encrypted string
|
function keyFinder(str){ // str is used to get the input of encrypted string
|
||||||
const wordbank =["is","Is","am","Am","are","Are","have","Have","has","Has","may","May","be","Be"];
|
const wordbank =["is","Is","am","Am","are","Are","have","Have","has","Has","may","May","be","Be"];
|
||||||
let key = 0; // return zero means the key can not be found
|
let key = 0; // return zero means the key can not be found
|
||||||
//var shiftNum = 0; //count the number of key shifted
|
|
||||||
let inStr = str.toString(); //convert the input to String
|
let inStr = str.toString(); //convert the input to String
|
||||||
let outStr = ""; // store the output value
|
let outStr = ""; // store the output value
|
||||||
let wordInOutStr = ""; // temporary store the word inside the outStr, it is used for comparison
|
let wordInOutStr = ""; // temporary store the word inside the outStr, it is used for comparison
|
||||||
//document.getElementById("debug").innerHTML = shiftNum; // debug: display the shifted number(s)
|
|
||||||
for (let i=0; i<(52); i++){ //try the number of key shifted, the sum of character from a-z and A-Z is 26*2=52
|
for (let i=0; i<(52); i++){ //try the number of key shifted, the sum of character from a-z and A-Z is 26*2=52
|
||||||
outStr = caesarCipherEncodeAndDecodeEngine(inStr,i); // use the encrytpion engine to decrypt the input string, shiftNum=i
|
outStr = caesarCipherEncodeAndDecodeEngine(inStr,i); // use the encrytpion engine to decrypt the input string, shiftNum=i
|
||||||
for ( let i=0; i<wordbank.length; i++){
|
for ( let i=0; i<wordbank.length; i++){
|
||||||
@ -20,9 +18,9 @@ function keyFinder(str){ // str is used to get the input of encrypted string
|
|||||||
// this part need to be optimize with the calculation of the number of occurance of word's probabilities
|
// this part need to be optimize with the calculation of the number of occurance of word's probabilities
|
||||||
// linked list will be used in the next stage of development to calculate the number of occurace of the key
|
// linked list will be used in the next stage of development to calculate the number of occurace of the key
|
||||||
if (wordbank[i] == wordInOutStr){
|
if (wordbank[i] == wordInOutStr){
|
||||||
return key=i;
|
return key=i; // return the key number if founded
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return key;
|
return 0; // return 0 if found nothing
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user