057 - Insert Interval
来源:互联网 发布:手机wav播放软件 编辑:程序博客网 时间:2024/06/18 07:40
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessary).
You may assume that the intervals were initially sorted according to their start times.
Example 1:
Given intervals [1,3],[6,9]
, insert and merge [2,5]
in as[1,5],[6,9]
.
Example 2:
Given [1,2],[3,5],[6,7],[8,10],[12,16]
, insert and merge [4,9]
in as[1,2],[3,10],[12,16]
.
This is because the new interval [4,9]
overlaps with [3,5],[6,7],[8,10]
.
struct Interval* insert(struct Interval* intervals, int intervalsSize, struct Interval newInterval, int* returnSize) {struct Interval *ret = (struct Interval *)malloc(sizeof(struct Interval) * (intervalsSize + 1));if (!intervalsSize) {*returnSize = 1;ret[0].start = newInterval.start;ret[0].end = newInterval.end;return ret;}int i, k = 0, ido = 0;for (i = 0; i < intervalsSize; i++) {if (!ido && newInterval.start < intervals[i].start) {ret[k].start = newInterval.start;ret[k++].end = newInterval.end;ido = 1;}ret[k].start = intervals[i].start;ret[k++].end = intervals[i].end;}if (k == intervalsSize) {ret[k].start = newInterval.start;ret[k++].end = newInterval.end;}*returnSize = 0;for (i = 1; i < intervalsSize + 1; i++) {if (ret[i].start <= ret[*returnSize].end)ret[*returnSize].end = ret[i].end > ret[*returnSize].end?ret[i].end:ret[*returnSize].end;else {(*returnSize)++;ret[*returnSize].start = ret[i].start;ret[*returnSize].end = ret[i].end;}}(*returnSize)++;return ret;}
0 0
- LeetCode 057 Insert Interval
- 057 - Insert Interval
- LeetCode 057 Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Insert Interval
- Dijkstra算法的验证
- 在程序员的眼里,用户是这样使用他们开发的软件的
- 056 - Merge Intervals
- 程序员的建议
- 第七周项目5-排队看病模拟
- 057 - Insert Interval
- 第十三周上机实践—项目1(4)—Floyd算法验证
- Rotation Matrix
- perl对称加密解密
- 第13周上机实践项目 - 验证算法(5)拓扑排序算法验证
- 058 - Length of Last Word
- LeetCode 106 Construct Binary Tree from Inorder and Postorder Traversal
- 第十一周 项目1-2 二叉树的构造
- 图基本算法库