Skip to content

Instantly share code, notes, and snippets.

View totoro0103's full-sized avatar

Steven Phan totoro0103

View GitHub Profile
@blasten
blasten / KMP.js
Last active February 11, 2025 22:10
String matching based on the KMP algorithm. This how `String.prototype.indexOf` is generally implemented.
// Construct a table with table[i] as the length of the longest prefix of the substring 0..i
function longestPrefix(str) {
// create a table of size equal to the length of `str`
// table[i] will store the prefix of the longest prefix of the substring str[0..i]
var table = new Array(str.length);
var maxPrefix = 0;
// the longest prefix of the substring str[0] has length
table[0] = 0;