632. Elemen Meliputi Julat Terkecil daripada K List
Kesukaran: Sukar
Topik: Tatasusunan, Jadual Cincang, Tamak, Tingkap Gelongsor, Isih, Timbunan (Baris Gilir Keutamaan)
Anda mempunyai k senarai integer yang diisih dalam tertib tidak menurun. Cari julat terkecil yang merangkumi sekurang-kurangnya satu nombor daripada setiap senarai k.
Kami mentakrifkan julat [a, b] adalah lebih kecil daripada julat [c, d] jika b - a < d - c atau a < c jika b - a == d - c.
Contoh 1:
Contoh 2:
Kekangan:
Penyelesaian:
Kita boleh menggunakan min-timbunan (atau baris gilir keutamaan) untuk menjejak elemen terkecil daripada setiap senarai sambil mengekalkan tetingkap gelongsor untuk mencari julat terkecil yang merangkumi sekurang-kurangnya satu elemen daripada setiap senarai.
Mari laksanakan penyelesaian ini dalam PHP: 632. Julat Terkecil Elemen Meliputi daripada K List
Penjelasan:
- Permulaan Timbunan:
- Timbunan awal mengandungi elemen pertama daripada setiap senarai. Kami juga menjejaki elemen maksimum antara elemen pertama.
- Memproses Timbunan:
- Ekstrak elemen minimum daripada timbunan, dan kemudian cuba lanjutkan julat dengan menambahkan elemen seterusnya daripada senarai yang sama (jika ada).
- Selepas menambah elemen baharu pada timbunan, kemas kini maxValue jika elemen baharu lebih besar.
- Kemas kini julat terkecil apabila perbezaan antara maxValue dan minValue lebih kecil daripada julat yang direkodkan sebelum ini.
- Penamatan:
- Gelung berhenti apabila mana-mana senarai kehabisan elemen, kerana kami tidak boleh memasukkan semua senarai dalam julat lagi.
Analisis Kerumitan
Penyelesaian ini cekap mencari julat terkecil yang merangkumi sekurang-kurangnya satu nombor daripada setiap senarai yang disusun k.
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 . Elemen Meliputi Julat Terkecil daripada Senarai K. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!