0Pricing
Coding Interview Prep · Pelajaran

Window Variabel dengan Two Pointer

Memperbesar dan mengecilkan hingga memenuhi kondisi

Window Variabel dengan Two Pointer adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 2 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.

Saat Ukuran Jendela Berubah

Beberapa masalah tidak menetapkan panjang jendela. Sebaliknya, jendela membesar dan mengecil agar suatu kondisi tetap terpenuhi, misalnya jumlah tetap di bawah batas tertentu.

Dua Penunjuk, Satu Jendela

Pertahankan dua indeks, kiri dan kanan, sebagai penanda tepi jendela. Penunjuk kanan memperluas jendela, sementara penunjuk kiri mengikutinya untuk mengecilkan jendela jika diperlukan.

left = 0
window = 0

Perluas ke Kanan

Telusuri setiap elemen ke arah kanan dan sertakan elemen tersebut dalam jendela. Perbarui keadaan berjalan, misalnya dengan menambahkan nilai baru ke jumlah.

for right in range(n):
    window += a[right]

Kecilkan Saat Diperlukan

Selama jendela melanggar aturan, geser kiri ke arah kanan dan hapus elemen tersebut. Dengan begitu, kondisi dipulihkan tanpa perlu kembali ke belakang.

    while window > limit:
        window -= a[left]
        left += 1

Baca Jendela yang Valid

Setelah perulangan bagian dalam berakhir, jendela dari kiri hingga kanan menjadi valid. Panjangnya adalah kanan dikurangi kiri ditambah satu, sehingga siap digunakan.

    length = right - left + 1

Catat Hasil Terbaik

Perbarui jawaban dengan jendela valid ini, yang sering kali merupakan jendela terpanjang yang ditemukan. Lakukan ini pada setiap iterasi agar tidak ada yang terlewat.

    best = max(best, right - left + 1)

Mengapa Waktunya Linear

Setiap penunjuk hanya bergerak maju, tidak pernah mundur. Penunjuk kiri dan kanan secara keseluruhan maju paling banyak n langkah, sehingga seluruh penelusuran adalah O(n).

Persyaratan Monoton

Ini bekerja ketika memperluas jendela hanya membuat kondisi menjadi lebih sulit untuk dipenuhi. Perilaku monoton inilah yang memungkinkan penunjuk kiri tidak pernah kembali.

Terpanjang vs Terpendek

Untuk mencari jendela valid terpendek, kecilkan jendela selama aturan masih terpenuhi dan catat hasilnya sebelum kondisi tidak lagi terpenuhi. Mekanisme penunjuknya tetap sama.

    while window >= target:
        best = min(best, right - left + 1)
        window -= a[left]
        left += 1

Waspadai Jendela Kosong

Jika pengecilan dapat mengosongkan jendela, cegah kondisi kiri melewati kanan. Pastikan juga bahwa jawaban benar-benar ditemukan sebelum mengembalikannya.

Kenali Polanya

Gunakan jendela variabel ketika masalah meminta rentang berurutan terpanjang atau terpendek yang memenuhi suatu kondisi pada elemennya.

Pemeriksaan Cepat

Anda menjalankan jendela variabel dengan dua penunjuk pada larik berukuran n.

Ringkasan

Perluas kanan untuk menyertakan elemen, kecilkan kiri saat aturan dilanggar, dan catat setiap jendela valid. Penunjuk yang hanya bergerak maju membuat kompleksitasnya O(n). ✅

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Window Variabel dengan Two Pointer” gratis?

Ya — teks lengkap “Window Variabel dengan Two Pointer” 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 “Window Variabel dengan Two Pointer”?

Memperbesar dan mengecilkan hingga memenuhi kondisi 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 2 dari 4.

Berapa lama pelajaran “Window Variabel dengan Two Pointer” 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. Jumlah Window Berukuran Tetap
  2. Window Variabel dengan Two Pointer
  3. Substring Terpanjang Tanpa Pengulangan
  4. Menghitung Window yang Memenuhi Aturan
← Kembali ke Coding Interview Prep