牛客網 數串(關於數字字串提醒的思路)

2021-08-21 03:00:53 字數 1201 閱讀 3270

設有n個正整數,將他們連線成一排,組成乙個最大的多位整數。

如:n=3時,3個整數13,312,343,連成的最大整數為34331213。

如:n=4時,4個整數7,13,4,246連線成的最大整數為7424613。

有多組測試樣例,每組測試樣例包含兩行,第一行為乙個整數n(n<=100),第二行包含n個數(每個數不超過1000,空格分開)。
每組資料輸出乙個表示最大的整數。
示例1

複製

2

12 123

47 13 4 246

複製

12312

7424613

開始看到這道題的時候想的是如何比較數字的大小,但是這樣做是非常麻煩的。在這裡我們用的是思路是字串的氣泡排序。以下是一些需要用到的知識點。

1.vector,c++中非常有用的容器,可以存放各個型別的物件,在這裡我們用來存放string型別物件。vector的一些用法

vectortest;

vectortest;
test.push_back(1);
test.push_back(2);//把1和2壓入vector,這樣test[0]就是1,test[1]就是2
2.對於兩個數的組合,我們想要乙個最大的整數,我們需要的是將第一位更大的放在前面的位置。這正是字串比較的規則,兩個字串比較式,會逐個比較字元的ascii值,分出大小後,對後面的不再比較

。例如:

string str1="abc";

string str2="aac";

'a'的ascii值為97,'a'的ascii值為65,所以str1>str2

通常我們會使用到字串比較函式strcmp(在之後會詳解)

下面是詳細**

#include#include#include#includeusing namespace std;

bool fun(string a,string b)

int main ()

for(int j=0;j::iterator item=string1.begin();

while(item!=string1.end())

}

牛客網字串識別數字

原題是為了識別數字,實現如下 include include include using namespace std class solution bool isnumberic const char str int positionofe 1 int positionofpoint 1 int n...

牛客網 字串的統計字串

牛客網 題目描述 給定乙個字串str,返回str的統計字串。例如 aaabbbbcccd 的統計字串為 a 3 b 4 c 3 d 1 輸入字元長度都大於1 解題思路 1.第一種方法輸入的是 aaa n 這種字元。因此我們將當前字元cur指向首字元,從1 字串長度的範圍內開始遍歷判斷當前字元cur是...

牛客網 數串

設有n個正整數,將他們連線成一排,組成乙個最大的多位整數。如 n 3時,3個整數13,312,343,連成的最大整數為34331213。如 n 4時,4個整數7,13,4,246連線成的最大整數為7424613。有多組測試樣例,每組測試樣例包含兩行,第一行為乙個整數n n 100 第二行包含n個數 ...