演算法 最大數

2021-09-24 23:41:54 字數 582 閱讀 1854

給定一組非負整數,重新排列它們的順序使之組成乙個最大的整數。

示例 1:

輸入: [10,2]

輸出: 210

示例 2:

輸入: [3,30,34,5,9]

輸出: 9534330

說明: 輸出結果可能非常大,所以你需要返回乙個字串而不是整數。

1、將輸入的整數陣列變成字串陣列;

2、完成字串數字之間的比較,(a+b) > (b+a);

3、輸出的結果可能非常大,輸出為字串形式;

這裡用到了algorithm 中的sort

#include#include#includeusing namespace std;

bool compare(string &a, string &b)

int main()

sort(str.begin(),str.end(),compare);

string res;

for (auto c: str)

cout

}

尋找最大數

描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m n可能是乙個很大的整數,但其位數不超過100位,並且保證資料...

尋找最大數

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...

尋找最大數

尋找最大數 三 時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述給出乙個整數n,每次可以移動2個相鄰數字上的數字,最多移動k次,得到乙個新的整數。求這個新的整數的最大值是多少。輸入多組測試資料。每組測試資料佔一行,每行有兩個數n和k 1 n 10 18 0 k 100 輸出每組...