Rumah >pembangunan bahagian belakang >tutorial php >. Tanjakan Lebar Maksimum
962. Tanjakan Lebar Maksimum
Kesukaran: Sederhana
Topik: Tatasusunan, Tindanan, Tindanan Monotonic
A tanjakan dalam nombor tatasusunan integer ialah pasangan (i, j) yang mana i < j dan angka[i] <= angka[j]. lebar tanjakan sedemikian ialah j - i.
Diberikan nombor tatasusunan integer, kembalikan lebar maksimum tanjakan dalam nombor. Jika tiada ramp dalam angka, kembalikan 0.
Contoh 1:
Contoh 2:
Kekangan:
Penyelesaian:
Kita boleh memanfaatkan konsep tindanan monotonik. Inilah penyelesaian dan penjelasannya:
Mari laksanakan penyelesaian ini dalam PHP: 962. Tanjakan Lebar Maksimum
Penjelasan:
Buat Tindanan Berkurangan:
- Lelaran melalui tatasusunan dan tambahkan indeks pada tindanan.
- Hanya tambahkan indeks jika ia sepadan dengan nilai yang kurang daripada atau sama dengan nilai indeks terakhir dalam tindanan. Ini memastikan bahawa nilai dalam tindanan berada dalam susunan yang semakin berkurangan.
Rentas dari Hujung:
- Apabila kita pergi ke belakang melalui tatasusunan, untuk setiap j, pop indeks i dari timbunan selagi nums[i] <= nums[j].
- Kira lebar j - i dan kemas kini maxWidth.
Mengapa Ini Berfungsi:
- Dengan mengekalkan timbunan indeks yang semakin berkurangan, kami memastikan bahawa apabila kami menemui a j dengan nilai yang lebih besar, ia boleh memberi kami lebar j yang lebih besar - i apabila i dikeluarkan daripada timbunan.
Kerumitan Masa:
- Membina tindanan mengambil masa O(n) kerana setiap indeks ditolak sekali.
- Perjalanan dari hujung dan indeks pop juga mengambil O(n) kerana setiap indeks muncul paling banyak sekali.
- Secara keseluruhan, penyelesaian berjalan dalam masa O(n), yang cekap untuk saiz input sehingga 5 * 10^4.
Output:
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 . Tanjakan Lebar Maksimum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!