Re: [閒聊] 每日leetcode
題目:
給你排好的不重疊的遞增的數字區間陣列
叫你插入一個陣列
然後維持他們的區間不重疊
重疊就合併
像是[ [1,3] , [5,6] ]
插入[2,7]
變成[[1,7]]
這種感覺
解法:
找到左邊跟右邊
然後先塞左邊
再塞新的區間
再塞右邊
有點怪
可是成功了
```cpp
class Solution {
public:
vector<vector<int>> insert(vector<vector<int>>& intervals, vector<int>& newI
nterval)
{
int len = intervals.size();
vector<vector<int>> res;
int l = len ;
int lval = newInterval[0];
int r = -1 ;
int rval = newInterval[1];
for(int i = 0 ; i < len ; i ++)
{
if(intervals[i][1] >= newInterval[0])
{
l = i;
lval = min(intervals[i][0] , newInterval[0]);
break;
}
}
for(int i = len-1 ; i >= 0 ; i --)
{
if(intervals[i][0] <= newInterval[1])
{
r = i;
rval = max(intervals[i][1] , newInterval[1]);
break;
}
}
for(int i = 0 ; i < l ; i ++)
{
res.push_back(intervals[i]);
}
res.push_back({lval , rval});
for(int i = r+1 ; i < len ; i ++)
{
res.push_back(intervals[i]);
}
return res;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.57.64 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1710652026.A.EA3.html
討論串 (同標題文章)
完整討論串 (本文為第 54 之 1548 篇):