Rumah >hujung hadapan web >tutorial js >Soalan Temuduga DSA Yang Lazim Ditanya

Soalan Temuduga DSA Yang Lazim Ditanya

Patricia Arquette
Patricia Arquetteasal
2024-11-04 09:39:30947semak imbas

Most Commonly Asked DSA Interview Questions

S: Bagaimanakah anda membalikkan senarai terpaut?

  • Jawapan: Membalikkan senarai terpaut melibatkan menukar arah penudingnya supaya senarai itu bermula dari elemen terakhir dan berakhir pada yang pertama.
  • Contoh: Input: 1 -> 2 -> 3 -> 4 -> null Output: 4 -> 3 -> 2 -> 1 -> null

S: Bagaimanakah anda melakukan carian binari pada tatasusunan yang diisih?

  • Jawapan: Carian binari membahagikan tatasusunan kepada separuh berulang kali, menyemak sama ada elemen tengah sepadan dengan sasaran.
  • Contoh: Input: Tatasusunan [1, 3, 5, 7, 9], Sasaran = 7 Output: 3 (indeks 7)
  • Pendekatan Penyelesaian: Semak elemen tengah; jika ia adalah sasaran, kembalikan indeks. Jika sasaran lebih kecil, cari bahagian kiri; jika lebih besar, cari bahagian kanan.

S: Bagaimanakah anda mencari watak unik pertama dalam rentetan?

  • Jawapan: Untuk mencari watak unik yang pertama, hitung kejadian setiap watak dan kenal pasti watak pertama yang muncul sekali sahaja.
  • Contoh: Input: "Swiss" Output: "w"
  • Pendekatan Penyelesaian: Gunakan peta cincang untuk menyimpan kekerapan setiap aksara, kemudian lelaran melalui rentetan untuk mencari aksara pertama dengan kiraan 1.

S: Bagaimanakah anda mengesan kitaran dalam senarai terpaut?

  • Jawapan: Untuk mengesan kitaran dalam senarai terpaut, gunakan dua penunjuk (perlahan dan cepat). Jika ada kitaran, penuding pantas akhirnya akan bertemu dengan penuding perlahan.
  • Contoh: Input: 1 -> 2 -> 3 -> 4 -> 2 (kitaran) Output: Benar (kitaran wujud)
  • Pendekatan: Gunakan algoritma Pengesanan Kitaran Floyd. Gerakkan penunjuk pantas dua langkah dan penunjuk perlahan satu langkah. Jika mereka bertemu, ada satu kitaran.

Atas ialah kandungan terperinci Soalan Temuduga DSA Yang Lazim Ditanya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn