Re: [閒聊] 每日leetcode

看板Marginalman作者 (是oin的說)時間1年前 (2024/03/17 13:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串54/1548 (看更多)
題目: 給你排好的不重疊的遞增的數字區間陣列 叫你插入一個陣列 然後維持他們的區間不重疊 重疊就合併 像是[ [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
文章代碼(AID): #1bzdfwwZ (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1bzdfwwZ (Marginalman)