Rumah >pembangunan bahagian belakang >tutorial php >Cari Skor Tatasusunan Selepas Menanda Semua Elemen
2593. Cari Skor Tatasusunan Selepas Menanda Semua Elemen
Kesukaran: Sederhana
Topik: Timbunan (Baris Gilir Keutamaan), Isih, Tatasusunan, Simulasi, Jadual Cincang, Set Tersusun, Peta Tersusun, Tamak, Timbunan Monotonic, Tingkap Gelongsor, Dua Penunjuk, Tindanan, Baris, Manipulasi Bit, Bahagi dan Takluk, Pengaturcaraan Dinamik, Senarai Berkait Berganda, Strim Data, Isih Radix, Penjejakan Belakang, Bitmask, Pokok, Reka Bentuk, Fungsi Cincang, Rentetan, Iterator, Isih Mengira, Senarai Terpaut
Anda diberi nombor tatasusunan yang terdiri daripada integer positif.
Bermula dengan skor = 0, gunakan algoritma berikut:
Kembalikan skor yang anda perolehi selepas menggunakan algoritma di atas.
Contoh 1:
Contoh 2:
Kekangan:
Petunjuk:
Penyelesaian:
Kami boleh mensimulasikan proses penandaan dengan cekap dengan menggunakan tatasusunan yang diisih atau baris gilir keutamaan untuk menjejaki elemen terkecil yang tidak ditanda. Jadi kita boleh menggunakan pendekatan berikut:
Mari laksanakan penyelesaian ini dalam PHP: 2593. Cari Skor Tatasusunan Selepas Menanda Semua Elemen
Penjelasan:
Pembinaan Timbunan:
- Fungsi usort mengisih tatasusunan berdasarkan nilai dan mengikut indeks apabila nilai diikat.
- Ini memastikan kami sentiasa memproses elemen terkecil tidak bertanda dengan indeks terkecil.
Logik Penandaan:
- Untuk setiap elemen yang tidak bertanda, kami menandainya dan elemen bersebelahannya menggunakan tatasusunan yang ditanda.
- Ini memastikan kami melangkau elemen yang ditanda sebelum ini dengan cekap.
Kerumitan Masa:
- Mengisih timbunan: O(n log n)
- Memproses timbunan: O(n)
- Keseluruhan: O(n log n), yang cekap untuk kekangan yang diberikan.
Kerumitan Angkasa:
- Tatasusunan bertanda: O(n)
- Timbunan: O(n)
- Jumlah: O(n)
Penyelesaian ini memenuhi kekangan dan berfungsi dengan cekap untuk input yang besar.
Pautan Kenalan
Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!
Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:
Atas ialah kandungan terperinci Cari Skor Tatasusunan Selepas Menanda Semua Elemen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!