【leetcode】T3169
实战总结
遇到参数范围到1e9的要特别注意代码的双复杂度(开个1e9的vector<int>要2G内存了哈哈哈哈)
想出一个好思路,比蒙着头往上做要重要的多!
本次解题:半小时50行代码缝缝补补搞出来个超出内存限制,换个思路不到20分钟,20行代码AC了
lambda表达式实现自定义sort排序,将meetings中元素按照第0位从小到大排列
sort(meetings.begin(), meetings.end(), [](const vector<int>& a, const vector<int>& b){
return a[0] < b[0];
});//lambda表达式实现自定义sort排序,将meetings中元素按照第0位从小到大排列
题面
AC代码
class Solution {
public:
int countDays(int days, vector<vector<int>>& meetings) {
sort(meetings.begin(), meetings.end(), [](const vector<int>& a, const vector<int>& b){
return a[0] < b[0];
});//lambda表达式实现自定义sort排序,将meetings中元素按照第0位从小到大排列
int back = meetings[0][1];
int res = meetings[0][0] - 1;
for(int i=1; i<meetings.size(); i++)
{
if(back > meetings[i][0])
{
back = max(back , meetings[i][1]);
}
else
{
if(back != meetings[i][0]) res += (meetings[i][0] - back - 1);
back = meetings[i][1];
}
}
return res + days - back;
}
};