劍指offer 把陣列排成最小的數

2022-09-17 10:48:08 字數 481 閱讀 6815

本題牛客網位址

部落格文章索引位址

部落格文章中**的github位址

# 題目

# 思路

1.排序

尋找陣列元素排序規則,使得陣列根據這個規則排序之後,陣列元素能排成乙個最小的數。排序規則如下:

2.拼接

給出數字m和n,怎麼得到數字mn和nm並比較兩者大小?如果使用數字計算,容易出現拼接後數字超過int能表達的範圍。《劍指offer》中解決辦法是把數字轉換成字串,使用字串表示拼接後的數字,並比較拼接後數字的大小。

# **

1

class solution

17private:

18// 公升序排序

19static

bool cmp(int a, int b)

24 };

劍指offer 把陣列排成最小的數

華電北風吹 天津大學認知計算與應用重點實驗室 日期 2015 10 5 題目描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。解析 比大小即可,不過比的時候是從從左往右比。注意到字母長度有...

劍指offer 把陣列排成最小的數

輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。分析 將int型的陣列轉化為string型的陣列,再將string型的陣列排序,排序規則依據比較兩個string變數相加後的大小 注意這個cmp...

劍指offer 把陣列排成最小的數

題目 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。分析 題目要求比較整數陣列組成後的數的大小,在int及long中來處理很容易超出範圍,實際上大數問題一般放在字串中來處理。我們把陣列元素兩...