文章
3
粉丝
74
获赞
3
访问
2.0k
据我观察,这里有很多题解的完成率其实只有75%,这是为什么呢?因为他们都是将整个开始时间读作一个字符串,运行时间读作一个字符串,然后进行比较
这里有一个很坑的点,毫秒数和运行时间并不是字节序越小一定时间越早/短, 虽然前面的年月日时分秒由于格式固定这么说是没有错的;
但是对于毫秒数和运行时间,由于位数并不确定,像是字节序"40" > "355", 但是实际数值上上 40 < 355,这就会导致结果的错误
我这里采用了类 + sort排序, 进行了一个三层排序; 这里类中存一个整字符串,是因为拆了又合并,有两个东西位数不确定,不好确定如何拼接,干脆多存一个,直接输出了
这里字符串处理核心采用了 istringstream流,对于避开空格符和知道终止符的情况,是非常的好用,大家也可以了解一下
#include <bits/stdc++.h>
using namespace std;
class Log {
public:
string content;
string name;
string startDate;
double ms;
double runtime;
Log(string content, string name, string date, double ms, double runtime)
: content(content), name(name), startDate(date), ms(ms), runtime(runtime) {}
// 比较函数
bool operator<(const Log& other) const {
if (runtime != other.runtime) {
return runtime < other.runtime;
} else if (startDate != other.startDate) {
return startDate < other.star...
登录后发布评论
暂无评论,来抢沙发