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

【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間

這篇具有很好參考價值的文章主要介紹了【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

??LeetCode435.?無重疊區(qū)間?

???LeetCode763.劃分字母區(qū)間

??LeetCode 56.合并區(qū)間


??LeetCode435.?無重疊區(qū)間?

鏈接:435.無重疊區(qū)間

給定一個區(qū)間的集合?intervals?,其中?intervals[i] = [starti, endi]?。返回?需要移除區(qū)間的最小數量,使剩余區(qū)間互不重疊?。?

【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間,貪心算法,算法?

public int eraseOverlapIntervals(int[][] intervals) {
        Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));
        int result=0;
        for(int i=1;i<intervals.length;i++){
            if(intervals[i][0]<intervals[i-1][1]){
                result++; 
                intervals[i][1]=Math.min(intervals[i][1],intervals[i-1][1]);
            }
        }
        return result;
    }

???LeetCode763.劃分字母區(qū)間

鏈接:763.劃分字母區(qū)間

給你一個字符串?s?。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現在一個片段中。

注意,劃分結果需要滿足:將所有劃分結果按順序連接,得到的字符串仍然是?s?。

返回一個表示每個字符串片段的長度的列表。

【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間,貪心算法,算法?

ublic List<Integer> partitionLabels(String s) {
        List<Integer> result=new ArrayList<>();
        int[] hash=new int[30];
        // 找每個字母出現的最遠距離
        for(int i=0;i<s.length();i++){
            hash[s.charAt(i)-'a']=i;
        }
        int left=0;
        int right=0;
        for(int i=0;i<s.length();i++){
            right=Math.max(right,hash[s.charAt(i)-'a']);
            if(right==i){
                result.add(right-left+1);
                left=right+1;
            }
        }
        return result;
    }

??LeetCode 56.合并區(qū)間

鏈接:56.合并區(qū)間

以數組?intervals?表示若干個區(qū)間的集合,其中單個區(qū)間為?intervals[i] = [starti, endi]?。請你合并所有重疊的區(qū)間,并返回?一個不重疊的區(qū)間數組,該數組需恰好覆蓋輸入中的所有區(qū)間?。?

【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間,貪心算法,算法?文章來源地址http://www.zghlxwxcb.cn/news/detail-601724.html

public int[][] merge(int[][] intervals) {
        Arrays.sort(intervals,(a,b)->(a[0]-b[0]));
        ArrayList<int[]> list=new ArrayList<>();
        int start=intervals[0][0];
        for(int i=1;i<intervals.length;i++){
            if(intervals[i][0]<=intervals[i-1][1]){
                intervals[i][1]=Math.max(intervals[i][1],intervals[i-1][1]);
            }else{
                list.add(new int[]{start,intervals[i-1][1]});
                start=intervals[i][0];
            }
        }
        list.add(new int[]{start,intervals[intervals.length-1][1]});
        return list.toArray(new int[list.size()][]);
    }

到了這里,關于【貪心算法part05】| 435.無重疊區(qū)間、763.劃分字母區(qū)間、56.合并區(qū)間的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

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

相關文章

  • 貪心算法part5 | ● 435. 無重疊區(qū)間 ● 763.劃分字母區(qū)間 ● 56. 合并區(qū)間

    重疊問題都需要先排好序,再貪心 搞清楚左右區(qū)間,重疊的條件。 要找出最少刪除的數量,也就是找出重疊空間的數量,然后用長度減去即可。 這里提供一種與452.用最少數量的箭引爆氣球 (opens new window)、435.無重疊區(qū)間 (opens new window)相同的思路。 統(tǒng)計字符串中所有字符的

    2024年02月09日
    瀏覽(92)
  • DAY35 435. 無重疊區(qū)間 + 763.劃分字母區(qū)間 + 56. 合并區(qū)間

    DAY35 435. 無重疊區(qū)間 + 763.劃分字母區(qū)間 + 56. 合并區(qū)間

    題目要求:給定一個區(qū)間的集合,找到需要移除區(qū)間的最小數量,使剩余區(qū)間互不重疊。 注意: 可以認為區(qū)間的終點總是大于它的起點。 區(qū)間 [1,2] 和 [2,3] 的邊界相互“接觸”,但沒有相互重疊。 示例 1: 輸入: [ [1,2], [2,3], [3,4], [1,3] ] 輸出: 1 解釋: 移除 [1,3] 后,剩下的區(qū)間沒

    2024年02月08日
    瀏覽(96)
  • LeetCode 36天 | 435.無重疊區(qū)域 763.劃分字母區(qū)間 56.合并區(qū)間

    435. 無重疊區(qū)間 左邊排序,右邊裁剪為當前最小的 763. 劃分字母區(qū)間 自己寫出來的題,雖然之前做過一遍了。 自己的寫法雖然比較難看,但是也列出來了。 再給一個卡爾的寫法 56. 合并區(qū)間 重疊區(qū)域的題目大都要按左邊界先排序。學了個lambda表達式??梢灾苯訉⒁粋€區(qū)域放

    2024年02月20日
    瀏覽(107)
  • 【Leetcode60天帶刷】day35——452. 用最少數量的箭引爆氣球,435. 無重疊區(qū)間,763.劃分字母區(qū)間

    【Leetcode60天帶刷】day35——452. 用最少數量的箭引爆氣球,435. 無重疊區(qū)間,763.劃分字母區(qū)間

    ? 452. 用最少數量的箭引爆氣球 有一些球形氣球貼在一堵用 XY 平面表示的墻面上。墻面上的氣球記錄在整數數組? points ?,其中 points[i] = [xstart, xend] ?表示水平直徑在? xstart ?和? xend 之間的氣球。你不知道氣球的確切 y 坐標。 一支弓箭可以沿著 x 軸從不同點? 完全垂直 ?

    2024年02月11日
    瀏覽(91)
  • LeetCode_貪心算法_中等_763.劃分字母區(qū)間

    給你一個字符串 s 。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現在一個片段中。注意,劃分結果需要滿足:將所有劃分結果按順序連接,得到的字符串仍然是 s。返回一個表示每個字符串片段的長度的列表。 示例 1: 輸入:s = “ababcbacadefegdehijhklij” 輸出

    2024年02月14日
    瀏覽(302)
  • LeetCode-763. 劃分字母區(qū)間【貪心 哈希表 雙指針 字符串】

    給你一個字符串 s 。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現在一個片段中。 注意,劃分結果需要滿足:將所有劃分結果按順序連接,得到的字符串仍然是 s 。 返回一個表示每個字符串片段的長度的列表。 示例 1: 輸入:s = “ababcbacadefegdehijhklij” 輸

    2024年04月10日
    瀏覽(97)
  • 劃分字母區(qū)間【貪心算法】

    劃分字母區(qū)間【貪心算法】

    劃分字母區(qū)間 給你一個字符串 s 。我們要把這個字符串劃分為盡可能多的片段,同一字母最多出現在一個片段中。 注意,劃分結果需要滿足:將所有劃分結果按順序連接,得到的字符串仍然是 s 。返回一個表示每個字符串片段的長度的列表。 參考下圖: 1.確定每個元素的最

    2024年02月10日
    瀏覽(87)
  • 代碼隨想錄 Leetcode763. 劃分字母區(qū)間
  • 力扣 435. 無重疊區(qū)間

    力扣 435. 無重疊區(qū)間

    題目來源:https://leetcode.cn/problems/non-overlapping-intervals/description/ C++題解1:對區(qū)間進行排序,根據區(qū)間的末端進行排序,小的在前,大的在后;由于有重復區(qū)間,我們拿后面的區(qū)間去看是否跟前面的區(qū)間重合,如果后面區(qū)間的前端大于前面區(qū)間的后端,則說明重合;但在排序會

    2024年02月15日
    瀏覽(21)
  • day31貪心算法 用最少數量的箭引爆氣球 和無重疊區(qū)間

    day31貪心算法 用最少數量的箭引爆氣球 和無重疊區(qū)間

    題目描述 題目分析: x軸向上射箭,12一支,重疊的需要一支,3-8一支,7-16一支 返回2; 就是讓重疊的氣球盡量在一起,局部最優(yōu);用一支弓箭,全局最優(yōu)就是最少弓箭; 如何去尋找重疊的氣球?和記錄弓箭數? 1.對所有氣球排序;(左邊界排序如上圖); 2. if 如果第i個氣

    2024年02月16日
    瀏覽(15)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包