题目描述
主要是整数长度太长,使用string代替,定义比较函数,先比较size(),若相等就比较各个位的大小
样例
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool campare(string lhs, string rhs)
{
if(lhs.size() < rhs.size())
{
return true;
}
else if (lhs.size() == rhs.size())
{
for (int i = 0; i < lhs.size(); ++i)
{
if (lhs[i] < rhs[i])
return true;
else if (lhs[i] > rhs[i])
return false;
}
}
else
{
return false;
}
}
int main()
{
int N;
cin >> N;
string str;
vector<string> vec;
while (N-- && cin >> str)
{
vec.push_back(str);
}
sort(vec.begin(), vec.end(), campare);
for (auto& elem : vec)
{
cout << elem << endl;
}
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla