国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

每日一題:leetcode 57 插入區(qū)間

這篇具有很好參考價值的文章主要介紹了每日一題:leetcode 57 插入區(qū)間。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

給你一個?無重疊的?,按照區(qū)間起始端點排序的區(qū)間列表。

在列表中插入一個新的區(qū)間,你需要確保列表中的區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。

示例 1:

輸入:intervals = [[1,3],[6,9]], newInterval = [2,5]
輸出:[[1,5],[6,9]]

示例 2:

輸入:intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
輸出:[[1,2],[3,10],[12,16]]
解釋:這是因為新的區(qū)間 [4,8][3,5],[6,7],[8,10] 重疊。

示例 3:

輸入:intervals = [], newInterval = [5,7]
輸出:[[5,7]]

示例 4:

輸入:intervals = [[1,5]], newInterval = [2,3]
輸出:[[1,5]]

示例 5:

輸入:intervals = [[1,5]], newInterval = [2,7]
輸出:[[1,7]]

提示:

  • 0 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= intervals[i][0] <= intervals[i][1] <= 105
  • intervals?根據?intervals[i][0]?按?升序?排列
  • newInterval.length == 2
  • 0 <= newInterval[0] <= newInterval[1] <= 105

思路:

跟之前的同向指針一樣,只要互不重疊的情況下,就要看需要插入的區(qū)間是否在已有的區(qū)間內,判斷的標準則是看插入的區(qū)間左邊界是否有小于某個區(qū)間的右邊界,如果有則合并。并且記錄更大的右邊界。文章來源地址http://www.zghlxwxcb.cn/news/detail-680160.html

class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {
        int left = newInterval[0];
        int right = newInterval[1];
        boolean placed = false;
        List<int[]> ansList = new ArrayList<int[]>();
        for (int[] interval : intervals) {
            if (interval[0] > right) {
                // 在插入區(qū)間的右側且無交集
                if (!placed) {
                    ansList.add(new int[]{left, right});
                    placed = true;
                }
                ansList.add(interval);
            } else if (interval[1] < left) {
                // 在插入區(qū)間的左側且無交集
                ansList.add(interval);
            } else {
                // 與插入區(qū)間有交集,計算它們的并集
                left = Math.min(left, interval[0]);
                right = Math.max(right, interval[1]);
            }
        }
        if (!placed) {
            ansList.add(new int[]{left, right});
        }
        int[][] ans = new int[ansList.size()][2];
        for (int i = 0; i < ansList.size(); ++i) {
            ans[i] = ansList.get(i);
        }
        return ans;
    }
}

到了這里,關于每日一題:leetcode 57 插入區(qū)間的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • LeetCode每日一題:56. 合并區(qū)間(2023.8.27 C++)

    目錄 56. 合并區(qū)間 題目描述: 實現代碼與解析: 排序 + 貪心 原理思路: ????????以數組? intervals ?表示若干個區(qū)間的集合,其中單個區(qū)間為? intervals[i] = [starti, endi] ?。請你合并所有重疊的區(qū)間,并返回? 一個不重疊的區(qū)間數組,該數組需恰好覆蓋輸入中的所有區(qū)間 ?。

    2024年02月11日
    瀏覽(16)
  • LeetCode·每日一題·1851. 包含每個查詢的最小區(qū)間·優(yōu)先隊列(小頂堆)

    LeetCode·每日一題·1851. 包含每個查詢的最小區(qū)間·優(yōu)先隊列(小頂堆)

    ? ? 離線查詢: ?輸入的結果數組queries[]是無序的。如果我們按照輸入的queries[]本身的順序逐個查看,時間復雜度會比較高。 于是,我們將queries[]數組按照數值大小,由小到大逐個查詢,這種方法稱之為離線查詢。 位運算: ?離線查詢的時候,queries[]可以按照數值大小逐個

    2024年02月16日
    瀏覽(20)
  • Leetcode-每日一題【147.對鏈表進行插入排序】

    Leetcode-每日一題【147.對鏈表進行插入排序】

    給定單個鏈表的頭?head?,使用 插入排序 對鏈表進行排序,并返回?排序后鏈表的頭?。 插入排序?算法的步驟: 插入排序是迭代的,每次只移動一個元素,直到所有元素可以形成一個有序的輸出列表。 每次迭代中,插入排序只從輸入數據中移除一個待排序的元素,找到它在

    2024年02月16日
    瀏覽(16)
  • 【Leetcode每日一題】35.搜素插入位置|二分查找數組下標

    【Leetcode每日一題】35.搜素插入位置|二分查找數組下標

    ??博主簡介:大一計科生,努力學習Java中!熱愛寫博客~預備程序媛 ??所屬專欄:LeetCode每日一題–進擊大廠 ?往期博文回顧: 【JavaSE】保姆級教程|1萬字+10張圖學會類與對象–建議收藏 ????♂?近期目標:成為千粉小博主。 ??“再牛的程序員也是從小白開始,既然開始

    2024年02月21日
    瀏覽(32)
  • 【LeetCode每日一題: 1039. 多邊形三角剖分的最低得分 | 暴力遞歸=>記憶化搜索=>動態(tài)規(guī)劃 | 區(qū)間dp 】

    【LeetCode每日一題: 1039. 多邊形三角剖分的最低得分 | 暴力遞歸=>記憶化搜索=>動態(tài)規(guī)劃 | 區(qū)間dp 】

    ??作者簡介:碩風和煒,CSDN-Java領域新星創(chuàng)作者??,保研|國家獎學金|高中學習JAVA|大學完善JAVA開發(fā)技術棧|面試刷題|面經八股文|經驗分享|好用的網站工具分享?????? ??座右銘:人生如棋,我愿為卒,行動雖慢,可誰曾見我后退一步??????? 1039. 多邊形三角剖分的最

    2023年04月19日
    瀏覽(23)
  • 【力扣每日一題】2023.8.28 插入區(qū)間

    【力扣每日一題】2023.8.28 插入區(qū)間

    目錄 題目: 示例: 分析: 代碼: 和昨天的題大差不差,我們仍然是有一堆區(qū)間,題目給我們一個新的區(qū)間,要我們把新區(qū)間插入到原本的區(qū)間數組里,并且能合并的要合并。 我們可以直接把新區(qū)間放入數組里,接著執(zhí)行昨天的代碼即可,一行都不用改,甚至形參名字都是

    2024年02月10日
    瀏覽(25)
  • 【LeetCode每日一題】2645. 構造有效字符串的最少插入數(計算組數+動態(tài)規(guī)劃+考慮相鄰字母)

    【LeetCode每日一題】2645. 構造有效字符串的最少插入數(計算組數+動態(tài)規(guī)劃+考慮相鄰字母)

    2024-1-11 2645. 構造有效字符串的最少插入數 方法一:計算組數 1.用count統(tǒng)計,能構成幾組abc 2.如果當前字符大于之前字符,說明還在組內,不更新 3.如果當前字符小于等于之前字符,說明不是同一組的abc,組數更新 4.最終返回值:組數*3,再減去原本的字符數,就是要插入的次數

    2024年01月17日
    瀏覽(23)
  • 【leetcode 力扣刷題】匯總區(qū)間//合并區(qū)間//插入區(qū)間

    【leetcode 力扣刷題】匯總區(qū)間//合并區(qū)間//插入區(qū)間

    題目鏈接:228.匯總區(qū)間 題目內容: 看題目真是沒懂這個題到底是要干啥……實際上題目要求的 恰好覆蓋數組中所有數字 的 最小有序 區(qū)間范圍列表,這個最小是指一個區(qū)間范圍小。比如能夠覆蓋{2,3,4,6}的區(qū)間可以是[2,6],但是5在區(qū)間內,卻不在數組內,因此這個區(qū)間不是最

    2024年02月10日
    瀏覽(33)
  • 57. 插入區(qū)間

    題目鏈接:57. 插入區(qū)間 代碼如下:

    2024年01月20日
    瀏覽(21)
  • leetcode每日一題44

    圖論 dfs/bfs dfs代碼框架 思路:本題要求找到被x圍繞的陸地,所以邊界的陸地O肯定不符合條件。那么我們只要從周邊找到陸地O然后 通過 dfs或者bfs 將周邊靠陸地且相鄰的陸地O都變成A,然后再去重新遍歷地圖的時候,把剩下的O變成X,再把所有的A變成O。 確認遞歸函數,參數

    2024年01月19日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包