最大值
标题:最大值 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
给定一组整数(非负),重排顺序后输出一个最大的整数。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<int> vec;
string resultStr = "";
int val;
char ch;
while(ch!='\n'){
scanf("%d",&val);
vec.push_back(val);
scanf("%c",&ch);
}
for(int i=0;i<vec.size()-1;i++)
{
for(int j=i+1;j<vec.size();j++)
{
string str1 = to_string(vec[i]) + to_string(vec[j]);
string str2 = to_string(vec[j]) + to_string(vec[i]);
if(str1 < str2)
{
vec[i] ^= vec[j];
vec[j] ^= vec[i];
vec[i] ^= vec[j];
}
}
}
for(int i=0;i<vec.size();i++){
resultStr += to_string(vec[i]);
}
cout<<resultStr;
return 0;
}
num = input().strip().split() res = "" for i in range(len(num)-1): for j in range((i+1),len(num)): if int(str(num[i]) + str(num[j])) < int(str(num[j]) + str(num[i])): num[i], num[j] = num[j], num[i] for i in num: res += str(i) if int(res) == 0: res = "0" print(res) // 满分题解 已使用
