最大值
标题:最大值 | 时间限制: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) // 满分题解 已使用