第100场双周赛
第100场双周赛
第三题,报超时,跑到两百多个就超时了,报错的用例每次都不同,运行这个用例有结果。复杂度是nlogn。一个长度为个位数的用例要运行12、20毫秒。
以为是多拷贝了一次, vector<int> b=a;
不行
以为是用了vector<bool> v(n,0);
不行
bool v[n];也不行
int v[n];也不行
最后发现是数组开太大了,
// vector<int> p[1000001];
map<int,vector<int>> p;
可以了。。
用绑定下标排序的话需要用稳定排序,
python sorted 、java Arrays.sort是稳定的
c++ 的sort,go的sort.Slice不稳定。
用sort(rank.begin(), rank.end(), [&nums](size_t a, size_t b)
{return nums[a] < nums[b]||nums[a]==nums[b]&&a<b;});
或者stable_sort
第三题,报超时,跑到两百多个就超时了,报错的用例每次都不同,运行这个用例有结果。复杂度是nlogn。一个长度为个位数的用例要运行12、20毫秒。
以为是多拷贝了一次, vector<int> b=a;
不行
以为是用了vector<bool> v(n,0);
不行
bool v[n];也不行
int v[n];也不行
最后发现是数组开太大了,
// vector<int> p[1000001];
map<int,vector<int>> p;
可以了。。
用绑定下标排序的话需要用稳定排序,
python sorted 、java Arrays.sort是稳定的
c++ 的sort,go的sort.Slice不稳定。
用sort(rank.begin(), rank.end(), [&nums](size_t a, size_t b)
{return nums[a] < nums[b]||nums[a]==nums[b]&&a<b;});
或者stable_sort
全部评论
我都没参加过这个🤣
厉害了,友友,双周赛都是这个难度吗?
相关推荐
不知道怎么取名字_:hr挂6次,这种肯定是要复盘了,你最后是拿到哪家的offer了?
点赞 评论 收藏
分享
10-23 15:58
华中农业大学 Java
LZStarV:冲就好了,就算真的是字节也冲,面评脏了大不了等三四个月就淡了,而且等到那个时候实力进步了选择还多,何必拘泥于字节 点赞 评论 收藏
分享
11-17 12:02
吉林大学 Java
橙子飞行术:日常实习就是现在缺牛马了要招个人打杂 结果你说两个月后到 人家肯定不知道2个月后还需不需要一个打杂的啊。而且你现在想找实习,如果奔着就业去的 还管期末考干啥 考前一天看看不就行了 你985学历找实习嘎嘎乱杀的 点赞 评论 收藏
分享