0Pricing
Coding Interview Prep · Pelajaran

Mengelompokkan dan Mengategorikan dengan Map

Mengelompokkan anagram dan item serupa

Mengelompokkan dan Mengategorikan dengan Map 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.

Pengelompokan adalah Pola

Banyak soal meminta Anda mengelompokkan item yang memiliki kesamaan. Pemetaan dari kunci ke wadah mengubahnya menjadi satu lintasan yang rapi. 🗂️

Pilih Kunci Pengelompokan

Inti triknya adalah memilih kunci yang sama untuk item-item dalam kelompok yang sama. Jika Anda tepat memilihnya, sisanya menjadi mudah.

Membuat Wadah dengan defaultdict

Gunakan defaultdict(list) agar setiap kunci baru memulai wadah kosong. Anda dapat menambahkan item dengan append tanpa pernah memeriksa apakah kunci tersebut ada.

from collections import defaultdict
buckets = defaultdict(list)

Perulangan Inti

Untuk setiap item, hitung kuncinya lalu append item tersebut ke wadah milik kunci itu. Satu baris untuk setiap elemen mengelompokkan semuanya.

for word in words:
    buckets[key_of(word)].append(word)

Mengelompokkan Anagram

Anagram memiliki huruf yang sama setelah diurutkan, jadi string yang telah diurutkan merupakan kunci kelompok yang sempurna. Urutkan sekali, lalu masukkan berdasarkan kunci tersebut.

k = ''.join(sorted(word))
buckets[k].append(word)

Kunci Tuple untuk Hitungan

Saat pengurutan lambat, tuple berisi jumlah huruf juga dapat digunakan sebagai kunci. Tuple dapat di-hash, sehingga dapat dimasukkan ke dalam dict dengan rapi.

k = tuple(Counter(word)[c] for c in 'abcdefghijklmnopqrstuvwxyz')

Membuat Wadah Berdasarkan Sifat

Kelompokkan angka berdasarkan sisa, paritas, atau panjang hanya dengan mengubah kuncinya. Polanya tetap sama di berbagai soal.

for n in nums:
    buckets[n % 3].append(n)

Gagasan Pengurutan Berbasis Wadah

Saat nilai berada dalam rentang kecil, masukkan masing-masing ke dalam wadah berindeks lalu bacalah secara berurutan. Itulah pengurutan yang mendekati linear.

for x in nums:
    bucket[x].append(x)

Kumpulkan Hasil

Setelah pembuatan wadah selesai, jawaban biasanya berupa values dari dict. Konversikan menjadi list jika juri menginginkan kelompoknya secara langsung.

result = list(buckets.values())

Menghitung per Kelompok

Jika Anda hanya memerlukan ukuran kelompok, masukkan item ke dalam Counter atau jumlahkan panjangnya di akhir. Pilihlah sesuai dengan yang sebenarnya diminta soal.

sizes = {k: len(v) for k, v in buckets.items()}

Mengapa Pemetaan Lebih Unggul

Pengelompokan dengan map membutuhkan O(n), bukan perbandingan setiap pasangan. Kunci yang di-hash melakukan pencocokan untuk Anda.

Pemeriksaan Cepat

Anda ingin mengelompokkan kata agar anagram masuk ke wadah yang sama.

Ringkasan

Kelompokkan dengan memetakan kunci setiap item ke dalam wadah defaultdict dalam satu lintasan O(n). Pilih kunci dengan baik dan soal pengelompokan menjadi jauh lebih mudah. 🚀

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengelompokkan dan Mengategorikan dengan Map” gratis?

Ya — teks lengkap “Mengelompokkan dan Mengategorikan dengan Map” 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 “Mengelompokkan dan Mengategorikan dengan Map”?

Mengelompokkan anagram dan item serupa 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 “Mengelompokkan dan Mengategorikan dengan Map” 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. Set untuk Keanggotaan dan Deduplikasi
  2. Dictionary sebagai Tabel Pencarian
  3. Counter dan defaultdict dalam Praktik
  4. Mengelompokkan dan Mengategorikan dengan Map
← Kembali ke Coding Interview Prep