1つのタイトル説明
正の整数のアレイ、一緒にスプライスされた番号に配置された全ての数字の配列を入力し、スプライスは、一つ最小すべての番号を印刷することができます。3,32,321入力アレイは} {例えば、3つの数の最小数は321323に配置することができる印刷します。
2つのアイデアや方法
デジタルステッチint型に起因して、int型のクロスボーダーの問題にそこに来るので、話題は文字列を返さ; //(降順)<bを返します;主に、配列をソート> Bを返すために、比較アルゴリズムを開発(小規模から大規模まで)。たとえば、 "3" と "123"、 "3123"> "1233"、それはfalseを返します。
MN <nmの場合は数m、nおよびMNのNMステッチが、その後MがNの前面にあるべきである場合、Mは、Mn = nmの場合、我々は、このケースを定義するn個未満である、我々は、nに等しいMを定義します。MNビットとNmが同じで、そうしなければならないので、缶の大きさのみに応じてその大きさの比較ルール列比較。
3 C ++コアコード
1 クラスソリューション{ 2 公共: 3 静的 ブール CMP(INT A、INT B) 4 { 5 列 A = to_stringに(A)+ (B)をTO_STRING。 6 列 B = to_stringに(B)+ (A)TO_STRING。 7 リターン A < B。 8 } 9 ストリング PrintMinNumber(ベクトル< INT > 番号){ 10 INT LEN = numbers.size()。 11 であれば(LEN == 0 ) 12 リターン 「」; 13 ソート(numbers.begin()、numbers.end()、CMP)。 14 列結果= "" ; 15 のためには、(int型 i = 0 ; iがLEN <I ++は) 16 { 17 結果+ = to_stringに(番号[i])とします。 18 } 19 リターン結果。 20 } 21 }。
参考資料
https://blog.csdn.net/sz793919425/article/details/98208092