倆數(shù)組區(qū)間交集


image.png

雙指針,注意單個數(shù)組的前面可能重疊,后面也可能。

遇到 [1,3],[2,4]這種重疊的記得left指針要拋棄[1,3]這種end更小的然后left++,因為下一個重疊肯定跟[1,3]沒關(guān)系了。

如果沒有重疊那就把前面那個指針++。

class Solution {
public:
    vector<vector<int>> intervalIntersection(vector<vector<int>>& firstList, vector<vector<int>>& secondList) {
        if(firstList.size()==0||secondList.size()==0){
            return {};
        }
        int l1=0;
        int l2=0;
        vector<vector<int>>res;
        // 看誰的start更小,然后判斷是否有交集,有交集那么start更小但是end也更小的拋棄然后l1++,否則拋棄l2
        while(l1<firstList.size()&&l2<secondList.size()){
            int p1=max(firstList[l1][0],secondList[l2][0]);
            int p2=min(firstList[l1][1],secondList[l2][1]);
            if(p1<=p2){
                res.push_back(vector<int>{p1,p2});
                if(firstList[l1][1]<secondList[l2][1]){
                    l1++;
                }else{
                    l2++;
                }
            }else{
                if(firstList[l1][1]<secondList[l2][0]){
                    l1++;
                }
                else{
                    l2++;
                }
            }
        }
        return res;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.鏈表 1.實現(xiàn)一個單向鏈表 2.找出鏈表相交節(jié)點,假設(shè)均沒有環(huán) 3.判斷鏈表是否有環(huán)思路:使用快慢兩個指針,當...
    X1028閱讀 730評論 0 0
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,628評論 18 399
  • 讀完本文,你可以去力扣拿下如下題目: 986.區(qū)間列表的交集[https://leetcode-cn.com/pr...
    labuladong閱讀 1,171評論 0 5
  • 知識點總結(jié) 二分查找法(二分查找法是弱點)**以及相關(guān)的操作:遞歸實現(xiàn)和非遞歸實現(xiàn),floor 和 ceiling...
    李威威閱讀 996評論 0 0
  • 數(shù)據(jù)庫基礎(chǔ)知識 為什么要使用數(shù)據(jù)庫 數(shù)據(jù)保存在內(nèi)存優(yōu)點: 存取速度快缺點: 數(shù)據(jù)不能永久保存 數(shù)據(jù)保存在文件優(yōu)點:...
    淺時咣閱讀 437評論 0 1

友情鏈接更多精彩內(nèi)容