Rumah  >  Artikel  >  pembangunan bahagian belakang  >  . Nombor Terbesar

. Nombor Terbesar

DDD
DDDasal
2024-09-19 06:21:07555semak imbas

. Largest Number

179. Nombor Terbesar

Kesukaran: Sederhana

Topik: Tatasusunan, Rentetan, Tamak, Isih

Memandangkan senarai nombor integer bukan negatif, susunkannya supaya ia membentuk nombor terbesar dan kembalikan.

Memandangkan hasilnya mungkin sangat besar, jadi anda perlu mengembalikan rentetan dan bukannya integer.

Contoh 1:

  • Input: nombor = [10,2]
  • Output: "210"

Contoh 2:

  • Input: nombor = [3,30,34,5,9]
  • Output: "9534330"

Kekangan:

  • 1 <= nums.length <= 100
  • 0 <= angka[i] <= 109

Penyelesaian:

Kita perlu membandingkan nombor berdasarkan hasil gabungannya. Untuk dua nombor a dan b, kami membandingkan ab (a bercantum dengan b) dan ba (b bercantum dengan a), dan memutuskan susunan berdasarkan yang mana membentuk nombor yang lebih besar.

Pendekatan:

  1. Isih Tersuai: Laksanakan fungsi pembanding tersuai yang mengisih nombor dengan membandingkan hasil yang digabungkan.
  2. Kes Tepi: Jika nombor terbesar selepas pengisihan ialah 0, maka hasilnya ialah "0", kerana semua nombor mestilah sifar.
  3. Penggabungan: Selepas mengisih, gabungkan nombor untuk membentuk keputusan akhir.

Mari laksanakan penyelesaian ini dalam PHP: 179. Nombor Terbesar






Penjelasan:

  1. usort($nums, $comparator): Kami mengisih tatasusunan menggunakan pembanding tersuai. Bagi setiap pasangan nombor a dan b, kami membandingkan rentetan bercantum a . b dan b. a.
  2. Logik Perbandingan: strcmp($order2, $order1) memastikan kami mendapat susunan menurun berdasarkan rentetan yang digabungkan.
  3. Pengendalian Kes Tepi: Jika aksara pertama rentetan bercantum yang terhasil ialah 0, kami mengembalikan "0", yang berlaku apabila semua elemen tatasusunan adalah sifar.
  4. Kerumitan Masa: Mengisih nombor memerlukan O(n log n), dan menggabungkannya mengambil O(n), dengan n ialah bilangan nombor dalam tatasusunan input.

Penyelesaian ini mengendalikan kekangan dengan cekap dan mengembalikan nombor terbesar yang mungkin sebagai rentetan.

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:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci . Nombor Terbesar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn