题解 | #奶牛喂养时间#
奶牛喂养时间
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; } };