题解 | #奶牛喂养时间#
奶牛喂养时间
https://www.nowcoder.com/practice/db2c7c52df0449b49b36e7fe5364f521
题目考察的知识点:贪心之合并数组
题目解答方法的文字分析:先将intervals进行排序,定义一个变量prev,然后遍历,如果prev[1]>=intervals[i],则合并这两个区间,否则,插入到输出的变量中,更新prev。
本题解析所用的编程语言:c++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param intervals int整型vector<vector<>>
* @return int整型vector<vector<>>
*/
vector<vector<int> > mergeTimeIntervals(vector<vector<int>>& intervals) {
// write code here
vector<vector<int>> result;
sort(intervals.begin(), intervals.end());
vector<int> prev = intervals[0];
for(int i=1; i<intervals.size(); i++)
{
vector<int> cur = intervals[i];
if(prev[1] >= cur[0])
{
prev[1] = max(prev[1], cur[1]);
}
else
{
result.push_back(prev);
prev = cur;
}
}
result.push_back(prev);
return result;
}
};