Mengapa TLE Terjadi dan Cara Menemukannya
Menemukan loop tersembunyi yang menghabiskan anggaran waktu
Mengapa TLE Terjadi dan Cara Menemukannya adalah pelajaran Coding Interview Prep gratis di CoddyKit. Ini adalah pelajaran 4 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.
Mengenal Putusan TLE
TLE berarti Batas Waktu Terlampaui: kode Anda benar, tetapi terlalu lambat. Inilah hambatan yang paling sering ditemui pemula dalam kontes. ⏰
Penyebab Umum
TLE hampir selalu disebabkan oleh kompleksitas yang terlalu tinggi untuk n. Gagasan O(n^2) pada n = 10^6 akan selalu melampaui anggaran waktu.
Perulangan Dalam yang Tersembunyi
Sumber TLE yang paling sulit disadari adalah perulangan yang tidak Anda perhatikan. Pemanggilan metode di dalam perulangan mungkin juga melakukan perulangan, sehingga O(n) berubah menjadi O(n^2).
for x in arr:
if x in seen_list:
...Keanggotaan dalam Daftar
Memeriksa apakah x ada di dalam daftar membutuhkan O(n) setiap kali. Di dalam perulangan, kompleksitasnya menjadi kuadratik. Gunakan himpunan untuk pengujian keanggotaan O(1).
seen = set()
if x in seen:
...Membangun String dalam Perulangan
Menggabungkan string dengan tanda plus di dalam perulangan menyalin seluruh string setiap kali. Biaya tersembunyi ini adalah O(n^2), jadi kumpulkan bagian-bagiannya lalu gunakan join sekali.
parts = []
parts.append(s)
result = "".join(parts)Input Lambat Merugikan
Membaca input berukuran sangat besar dengan input() biasa dapat menyebabkan TLE. Untuk pengujian besar, gunakan sys.stdin untuk mengambil semua data dengan cepat.
import sys
data = sys.stdin.read().split()Hitung Ulang vs Simpan di Cache
Menghitung ulang nilai yang sama berulang kali membuang waktu. Menyimpan dalam cache sebuah hasil, seperti jumlah prefiks, dapat mengubah pekerjaan O(n) yang berulang menjadi O(1).
Perkirakan Sebelum Mengirimkan
Temukan TLE sebelum penguji menemukannya. Kalikan kompleksitas Anda dengan n dan bandingkan dengan 10^8. Jika hasilnya melebihi batas, rancang ulang sebelum mengirimkan solusi.
Temukan Hambatan Utama
Saat TLE terjadi, cari perulangan bersarang terdalam dan tanyakan berapa kali perulangan itu benar-benar berjalan. Hampir selalu, di situlah waktu terbuang.
Turunkan Kompleksitas
Memperbaiki TLE biasanya berarti menggunakan algoritma yang lebih baik, bukan melakukan penyesuaian kecil. Ganti pemindaian bersarang dengan pengurutan, peta hash, atau dua penunjuk.
Penyesuaian Konstanta Dilakukan Terakhir
Jika Anda hanya sedikit melewati batas, perbaikan faktor konstan seperti I/O yang lebih cepat mungkin dapat membantu. Namun, pastikan terlebih dahulu bahwa Big-O-nya sudah benar.
Pemeriksaan Singkat
Diagnosis perlambatan tersembunyi ini.
Rangkuman
TLE berarti benar tetapi lambat. Cari perulangan tersembunyi, ganti daftar dengan himpunan, gunakan join sekali untuk string, dan turunkan Big-O. Perkirakan terlebih dahulu, lalu kirimkan solusi. 🛠️
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengapa TLE Terjadi dan Cara Menemukannya” gratis?
Ya — teks lengkap “Mengapa TLE Terjadi dan Cara Menemukannya” 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 “Mengapa TLE Terjadi dan Cara Menemukannya”?
Menemukan loop tersembunyi yang menghabiskan anggaran waktu 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 4 dari 4.
Berapa lama pelajaran “Mengapa TLE Terjadi dan Cara Menemukannya” 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
- Menghitung Operasi dengan Big-O
- Aturan Praktis 10^8
- Membaca Batasan, Memilih Kompleksitas
- Mengapa TLE Terjadi dan Cara Menemukannya