You have an error in LSP value. It must be [0, 0, 0, 3, 5, 0] instead of [0, 0, 0, 1, 2, 0]
[0, 0, 0, 3, 5, 0]
[0, 0, 0, 1, 2, 0]
You actually have a wrong LPS algorithm. Here's the right one:
function calculateLpsTable(subStr) { let i = 1; let j = 0; let lps = new Array(subStr.length).fill(0); while(i < subStr.length) { if(subStr[i] === subStr[j]) { lps[i] = j + 1; i += 1; j += 1; } else { if(j !== 0) { j = lps[j - 1]; } else { i += 1; } } } return lps; }
There was a small typo at line 8. Wrote "i" instead of "1".
Thanks for pointing.
LPS value is actually correct. It is [0, 0, 0, 1, 2, 0]
I had a small typo in LPS algorithm. I added "i" instead of "1".
Yeah, that all because of the type. It changed the value and it also causes infinite loop. Nevertheless that was a pleasure to read your article!
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
You have an error in LSP value. It must be
[0, 0, 0, 3, 5, 0]
instead of[0, 0, 0, 1, 2, 0]
You actually have a wrong LPS algorithm. Here's the right one:
There was a small typo at line 8. Wrote "i" instead of "1".
Thanks for pointing.
LPS value is actually correct. It is [0, 0, 0, 1, 2, 0]
I had a small typo in LPS algorithm. I added "i" instead of "1".
Thanks for pointing.
Yeah, that all because of the type. It changed the value and it also causes infinite loop.
Nevertheless that was a pleasure to read your article!