670. Pertukaran Maksimum
Kesukaran: Sederhana
Topik: Matematik, Tamak
Anda diberi nombor integer. Anda boleh menukar dua digit paling banyak sekali untuk mendapatkan nombor nilai maksimum.
Kembalikan nombor nilai maksimum yang anda boleh dapat.
Contoh 1:
- Input: nombor = 2736
- Output: 7236
- Penjelasan: Tukar nombor 2 dan nombor 7.
Contoh 2:
- Input: nombor = 9973
- Output: 9973
- Penjelasan: Tiada pertukaran.
Kekangan:
- 0 8
Penyelesaian:
Kita boleh mengikut pendekatan tamak. Berikut ialah penjelasan langkah demi langkah dan penyelesaiannya:
Pendekatan:
- Tukar Nombor kepada Tatasusunan: Memandangkan digit perlu ditukar, menukar nombor kepada tatasusunan digit memudahkan untuk mengakses dan memanipulasi digit individu.
- Jejak Kejadian Paling Kanan Setiap Digit: Simpan kedudukan paling kanan setiap digit (0-9) dalam tatasusunan.
- Cari Peluang Swap Terbaik: Lintas digit nombor dari kiri ke kanan, dan untuk setiap digit, semak sama ada terdapat digit yang lebih tinggi yang muncul kemudian. Jika ya, tukarkannya untuk memaksimumkan bilangannya.
- Lakukan Tukar dan Putus: Sebaik sahaja pertukaran optimum ditemui, lakukan pertukaran dan putuskan gelung.
- Tukar Tatasusunan Kembali kepada Nombor: Selepas pertukaran, tukarkan tatasusunan digit kembali kepada nombor dan kembalikannya.
Mari laksanakan penyelesaian ini dalam PHP: 670. Pertukaran Maksimum
<?php /** * @param Integer $num * @return Integer */ function maximumSwap($num) { ... ... ... /** * go to ./solution.php */ } // Example usage: echo maximumSwap(2736); // Output: 7236 echo maximumSwap(9973); // Output: 9973 ?>
Penjelasan:
- Langkah 1: strval($num) menukar integer menjadi rentetan dan str_split($numStr) membahagikannya kepada tatasusunan digit.
- Langkah 2: Tatasusunan terakhir menjejaki indeks paling kanan setiap digit dari 0 hingga 9.
- Langkah 3: Kami mengulangi setiap digit dan mencari digit yang lebih besar yang boleh ditukar.
- Langkah 4: Jika digit yang lebih besar yang sesuai ditemui (yang muncul kemudian dalam nombor), digit tersebut ditukar.
- Langkah 5: Tatasusunan yang diubah suai ditukar kembali kepada rentetan dan kemudian kepada integer menggunakan intval().
Kerumitan:
- Kerumitan Masa: O(n), dengan n ialah bilangan digit dalam nombor. Ini kerana kami membuat hantaran melalui nombor untuk mengisi tatasusunan terakhir dan satu lagi hantaran untuk mencari pertukaran yang optimum.
- Kerumitan Ruang: O(1) (mengabaikan saiz input) kerana tatasusunan terakhir ditetapkan dengan 10 elemen.
Penyelesaian ini cekap mencari nilai maksimum dengan menukar digit sekali sahaja, seperti yang diperlukan.
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:
- GitHub
Atas ialah kandungan terperinci . Pertukaran Maksimum. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

TooptimizephpcodeforreducedmemoryusageandexecutionTime, ikuti: 1) userereferencesInsteadofcopylylargedataStructureStructureStructureStoreducemoryconsumption.2)

PhpisusedforsendingemailsduetoitsintegrationWithservermailservicesandexternalsmtpproviders, automatingnotificationsandmarketingcampaigns.1) Setupyourphpenvironmentwithawebserverandphp, Memastikan

Cara terbaik untuk menghantar e -mel ialah menggunakan perpustakaan phpmailer. 1) Menggunakan fungsi mel () adalah mudah tetapi tidak boleh dipercayai, yang boleh menyebabkan e -mel memasuki spam atau tidak dapat dihantar. 2) PHPMailer menyediakan kawalan dan kebolehpercayaan yang lebih baik, dan menyokong surat HTML, lampiran dan pengesahan SMTP. 3) Pastikan tetapan SMTP dikonfigurasi dengan betul dan penyulitan (seperti startTLS atau SSL/TLS) digunakan untuk meningkatkan keselamatan. 4) Untuk sejumlah besar e -mel, pertimbangkan untuk menggunakan sistem giliran mel untuk mengoptimumkan prestasi.

CustomheadersandadvancedfeaturesInphpeMailenhanceFunctialityandreliability.1) customHeadersAddmetadataFortrackingandCategorization.2) htmlemailsallowformattingIntivity.3)

Menghantar mel menggunakan PHP dan SMTP boleh dicapai melalui Perpustakaan PHPMailer. 1) Pasang dan konfigurasikan PHPMailer, 2) Tetapkan butiran pelayan SMTP, 3) Tentukan kandungan e -mel, 4) Hantar e -mel dan mengendalikan kesilapan. Gunakan kaedah ini untuk memastikan kebolehpercayaan dan keselamatan e -mel.

Thebestapproachforsendingemailsinphpisusingthephpmaillibraryduetoitsreliability, featureRichness, andeaseofuse.phpmailersupportssmtp, proveddetaileDerrorHandling, membolehkanSendsendingHtmlandPlainteMails, supportsattachments, danStoVeShanCess

Alasan untuk menggunakan suntikan ketergantungan (DI) ialah ia menggalakkan gandingan longgar, kebolehlihatan, dan pemeliharaan kod. 1) Gunakan pembina untuk menyuntik kebergantungan, 2) Elakkan menggunakan pencari perkhidmatan, 3) Gunakan bekas suntikan ketergantungan untuk menguruskan kebergantungan, 4) meningkatkan kesesuaian melalui suntikan suntikan, 5) Elakkan kebergantungan over-suntikan, 6) Pertimbangkan kesan DI terhadap prestasi.

Phpperformancetuningiscrucialbecauseitenhancesspeedandeficiency, whoarevitalforwebapplications.1) cachingwithapcureSdatabaseloadandimprovesresponsetimes.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
