2419. Subarray Terpanjang Dengan Bitwise Maksimum DAN
Kesukaran: Sederhana
Topik: Tatasusunan, Manipulasi Bit, Penguat otak
Anda diberi nombor tatasusunan integer bersaiz n.
Pertimbangkan tidak kosong subbaris daripada nombor yang mempunyai maksimum yang mungkin bitwise DAN.
Kembalikan panjang terpanjang subbaris sedemikian.
Bitwise AND bagi tatasusunan ialah bitwise DAN semua nombor di dalamnya.
subarray ialah jujukan unsur bersebelahan dalam tatasusunan.
Contoh 1:
Contoh 2:
Kekangan:
Petunjuk:
Penyelesaian:
Mari kita pecahkan dulu masalah ini langkah demi langkah:
Bitwise DAN Sifat:
Objektif:
Untuk tatasusunan input [1,2,3,3,2,2], nilai maksimum ialah 3. Subarray bersebelahan terpanjang dengan hanya 3s ialah [3,3], yang mempunyai panjang 2.
Mari laksanakan penyelesaian ini dalam PHP: 2419. Subarray Terpanjang Dengan Bitwise Maksimum DAN
Penjelasan:
- Langkah 1: Kami mula-mula mencari nilai maksimum dalam tatasusunan menggunakan fungsi max() terbina dalam PHP.
- Langkah 2: Kami memulakan dua pembolehubah, $maxLength untuk menyimpan panjang subarray terpanjang dan $currentLength untuk menjejak panjang subarray bersempadan semasa bagi nilai maksimum.
- Langkah 3: Kami mengulangi tatasusunan:
- Jika nombor semasa bersamaan dengan nilai maksimum, kami menambah panjang subarray semasa.
- Jika nombor semasa tidak bersamaan dengan nilai maksimum, kami menyemak sama ada subarray semasa adalah yang paling lama setakat ini dan menetapkan semula panjangnya.
- Langkah Terakhir: Selepas gelung, kami memastikan bahawa jika subarray terpanjang berada di penghujung tatasusunan, kami masih menganggapnya.
- Akhir sekali, kami mengembalikan panjang subarray terpanjang yang mengandungi hanya nilai maksimum.
Kerumitan Masa:
Untuk input [1, 2, 3, 3, 2, 2], output ialah 2 dan untuk [1, 2, 3, 4], output ialah 1, seperti yang dijangkakan.
Penyelesaian ini mengendalikan kekangan dan menyelesaikan masalah dengan cekap.
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 Subarray Terpanjang Dengan Bitwise Maksimum DAN. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!