把陣列中的數字拼接起來組成最小的數

2021-07-17 11:35:47 字數 1231 閱讀 9581

例如輸入陣列,則拼接起來的最小數為321323。

假設有兩個數m和n,我們定義mnm,則有m>n。

m和n都是int範圍內的數字,它們拼接起來的數字很可能超出int所能表示的範圍。在這裡,我們把數字轉換為字串。

將數字按上面定義的比較方式從小到大排序,那麼得到的組合數字最小。相關數學證明可以網上搜尋。

原始碼如下:

//把陣列中的數拼接起來,輸出其中最小的數

#include "stdafx.h"

#include#include#includeusing namespace std;

//十進位制能表示的最多位數

const int maxnumberlength = 10;

char *combine1 = new char[2 * maxnumberlength + 1];

char *combine2 = new char[2 * maxnumberlength + 1];

//本例中a,b均指向(char*)

int compare(const void *a, const void *b)

void printminnumber(int *number, int len)

qsort(str, len,sizeof(char*) , compare);

for (int i = 0; i < len; i++)

cout << endl;

for (int i = 0; i < len; i++)

delete str[i];

delete str;

}// ********************測試**********************

mysql 如何把兩個字段拼接起來

在mysql中有個關鍵字 concat ws 關鍵字解釋 根據特定的字元將不同的字段拼接在一起 例如 表 student id age name 1 2 xiaohong 2 4 xiaoming 拼接 concat ws xiaoming xiaohong as total 拼接結果 total ...

C json解析(將json的字串拼接起來)

string msg jsonarray array new jsonarray foreach downloaddata downloaddata in datalist 上面可以忽略,下面是關鍵 string msgtos array.tostring if msgtos 採用utf 8編碼 s...

10將字串,列表或字典裡的內容拼接起來的幾種方法

1.字串拼接 1.用 號拼接字串,將兩個字串之間寫入 號即可 data www.mingrisoft com train1 www.str 12306 com train2 www.12306 com print data print train1 print train2 結果 www.mingr...