Latihan 1: String Matching (KMP) — Algoritma

Latihan 1 dari materi String Matching (KMP) di Algoritma — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Lengkapi function buildLPS(pattern) supaya mengembalikan tabel LPS: array angka sepanjang pattern.length.

lps[i] adalah panjang awalan terpanjang yang juga jadi akhiran, untuk potongan pattern dari huruf 0 sampai huruf i. Seluruh potongan gak dihitung sebagai awalan (proper), jadi lps[0] selalu 0.

Contoh: "abab" jadi [0, 0, 1, 2], "aaaa" jadi [0, 1, 2, 3].

Kalau cocoknya putus, len mundur ke lps[len - 1], bukan langsung ke 0.

Empat console.log di bawahnya (yang menggabung hasil dengan koma) harus mencetak, berurutan:

Hint