在写小熊的果篮这道题的时候,我理所应当地想到了一个链表套链表的写法,但写完后,T了四个点
大样例跑了足足120s
从讨论去找到了一种写法,和我原来的类似,但一共才跑了180ms,但为什么时间效率会差这么多啊
//快的写法
for(auto &it: lt){//取地址可以修改
if(!head)printf(" ");
printf("%d",(it.front().data));
head=0;
it.pop_front();
if(!it.empty()){
if(lt2.empty()||lt2.back().front().type != it.front().type){
lt2.emplace_back(move(it));
}
else {
lt2.back().splice(lt2.back().end(),move(it));
}
}
}
//我的写法
// for(auto &it:lt){
// if(it.empty())continue;
// if(lt2.empty()) lt2.emplace_back(move(it));
// else {
// if(it.front().type==lt2.back().front().type)
// //lt2.back().l.insert(lt2.back().l.end(),it->l.begin(),it->l.end());
// lt2.back().splice(lt2.back().end(),move(it));
// else lt2.emplace_back(it);
// }
// }
求dalao指点