0Pricing
Coding Interview Prep · Pelajaran

Subsekuens Sama Terpanjang

Menyelaraskan dua string dengan tabel DP

Subsekuens Sama Terpanjang adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Coding Interview Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa Itu Subsekuens

Subsekuens mempertahankan karakter dalam urutan yang sama, tetapi boleh melewati beberapa karakter. Dari 'abcde' Anda dapat mengambil 'ace', tetapi tidak pernah 'aec'.

Tujuan LCS

Diberikan dua teks, subsekuens umum terpanjang adalah urutan terpanjang yang muncul pada keduanya dalam urutan relatif yang sama.

Beralih ke Kisi

Bandingkan prefiks dari kedua teks. Sebuah tabel dua dimensi berdasarkan panjang keduanya mengubah masalah ini menjadi DP kisi yang sudah familier.

Tentukan Keadaan

Misalkan dp[i][j] adalah panjang LCS dari i karakter pertama A dan j karakter pertama B.

Saat Karakter Cocok

Jika A[i-1] sama dengan B[j-1], huruf yang sama tersebut memperpanjang LCS. Tambahkan satu ke nilai diagonal dp[i-1][j-1].

if a[i-1] == b[j-1]:
    dp[i][j] = dp[i-1][j-1] + 1

Saat Berbeda

Jika hurufnya berbeda, abaikan satu karakter dari salah satu teks dan pertahankan hasil yang lebih baik. Ambil nilai maksimum dari dua tetangga.

else:
    dp[i][j] = max(dp[i-1][j], dp[i][j-1])

Kasus Dasar

Prefiks kosong tidak memiliki kesamaan apa pun, sehingga panjang LCS adalah nol. Baris 0 dan kolom 0 tetap berisi nol seluruhnya.

dp = [[0] * (m+1) for _ in range(n+1)]

Satu Baris dan Kolom Tambahan

Membuat tabel berukuran n+1 kali m+1 memberikan batas nol secara cuma-cuma. Dengan begitu, pemeriksaan batas yang mengganggu di tepi dapat dihilangkan.

Isi Semuanya

Lakukan perulangan i dan j mulai dari 1 ke atas. Setiap sel hanya membutuhkan nilai di atas, kiri, dan diagonal, yang sudah dihitung.

for i in range(1, n+1):
    for j in range(1, m+1):
        ...

Baca Panjangnya

Panjang LCS lengkap berada di sudut. Jawabannya adalah dp[n][m] setelah setiap sel terisi.

length = dp[n][m]

Kompleksitas

Anda mengakses setiap sel sekali, sehingga pekerjaannya membutuhkan waktu dan memori O(n kali m). Ini cukup untuk menangani teks sepanjang beberapa ribu karakter.

Pemeriksaan Singkat

Karakter saat ini, A[i-1] dan B[j-1], sama. Pembaruan mana yang benar?

Ringkasan: LCS

Buat tabel berukuran n+1 kali m+1: jika cocok, tambahkan satu ke diagonal; jika tidak, ambil tetangga maksimum. Sudut menyimpan panjangnya. 🔗

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Subsekuens Sama Terpanjang” gratis?

Ya — teks lengkap “Subsekuens Sama Terpanjang” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Coding Interview Prep, upgrade ke CoddyKit PRO. Kursus Coding Interview Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Subsekuens Sama Terpanjang”?

Menyelaraskan dua string dengan tabel DP Kamu berlatih Coding Interview Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Coding Interview Prep?

Tidak diperlukan pengalaman sebelumnya. Coding Interview Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Subsekuens Sama Terpanjang” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Coding Interview Prep ini?

Ya. Setiap pelajaran Coding Interview Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menghitung Jalur pada Grid
  2. Jumlah Jalur Minimum dengan Rintangan
  3. Subsekuens Sama Terpanjang
  4. Jarak Edit Langkah demi Langkah
← Kembali ke Coding Interview Prep