Skip to content

Commit fe329c1

Browse files
committed
插入区间
1 parent 700f7dd commit fe329c1

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

insert_interval.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# -*- coding: utf-8 -*-
2+
3+
class Solution:
4+
"""
5+
Insert a new interval into a sorted non-overlapping interval list.
6+
@param intevals: Sorted non-overlapping interval list
7+
@param newInterval: The new interval.
8+
@return: A new sorted non-overlapping interval list with the new interval.
9+
"""
10+
def insert(self, intervals, newInterval):
11+
# write your code here
12+
ret = []
13+
i = 0
14+
while i < len(intervals):
15+
if intervals[i].start > newInterval.start:
16+
break
17+
i += 1
18+
if i > 0:
19+
ret[0:i] = intervals[0:i]
20+
intervals[i - 1] = newInterval
21+
start = i - 1
22+
else:
23+
ret.append(newInterval)
24+
start = 0
25+
for i in xrange(start, len(intervals)):
26+
if (intervals[i].start >= ret[-1].start) and \
27+
(intervals[i].start <= ret[-1].end):
28+
if intervals[i].end > ret[-1].end:
29+
ret[-1].end = intervals[i].end
30+
else:
31+
ret.append(intervals[i])
32+
return ret

0 commit comments

Comments
 (0)