首页 > 其他分享 >2580. 统计将重叠区间合并成组的方案数(中等)

2580. 统计将重叠区间合并成组的方案数(中等)

时间:2024-04-01 18:45:14浏览次数:27  
标签:重叠 2580 int res ll 合并 ranges 成组 区间


核心思想
先按第一个元素排序,原区间重合的合并为一个,计算合并完后的区间个数。
每个区间都有2个选择,res不断乘2。

class Solution {
    public int countWays(int[][] ranges) {
        long res = 1;
        final int MOD = (int) (1e9 + 7);
        Arrays.sort(ranges, (o1, o2) -> o1[0] - o2[0]);
        int cnt = 1;
        int l = ranges[0][0], r = ranges[0][1];
        for(int i = 1; i < ranges.length; i++){
            int ll = ranges[i][0];
            int rr = ranges[i][1];
            if(ll >= l && ll <= r){
                r = Math.max(r, rr);
            }
            else{
                l = ll;
                r = rr;
                cnt ++;
            }
        }
        for(int i = 0; i < cnt; i++){
            res = res * 2;
            res %= MOD;
        }
        return (int) res;
    }
}

标签:重叠,2580,int,res,ll,合并,ranges,成组,区间
From: https://www.cnblogs.com/ganyq/p/18109152

相关文章

  • 代码随想录算法训练营第36天| 435. 无重叠区间、763.划分字母区间、56. 合并区间
    435.无重叠区间题目链接:无重叠区间题目描述:给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。解题思想:这道题目和射气球很像。*“需要移除区间的最小数量,使剩余区间互不重叠”*等效于求重叠区......
  • 代码随想录训练营Day36:● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
    435.无重叠区间题目链接https://leetcode.cn/problems/non-overlapping-intervals/description/题目描述思路直接统计重叠区间的个数,就是需要删除的个数publicinteraseOverlapIntervals(int[][]intervals){Arrays.sort(intervals,(a,b)->Integer.com......
  • 统计将重叠区间合并成组的方案数
    题目描述给你一个二维整数数组 ranges ,其中 ranges[i]=[,] 表示 到 之间(包括二者)的所有整数都包含在第 i 个区间中。你需要将 ranges 分成 两个 组(可以为空),满足:每个区间只属于一个组。两个有 交集 的区间必须在 同一个 组内。如果两个区间有至少 一个......
  • 统计将重叠区间合并成组的方案数.18098728
    统计将重叠区间合并成组的方案数给你一个二维整数数组ranges,其中ranges[i]=[starti,endi]表示starti到endi之间(包括二者)的所有整数都包含在第i个区间中。你需要将ranges分成两个组(可以为空),满足:每个区间只属于一个组。两个有交集的区间必须在同一个组内......
  • 【工程应用九】再谈基于离散夹角余弦相似度指标的形状匹配优化(十六角度量化+指令集加
    继去年上半年一鼓作气研究了几种不同的模版匹配算法后,这个方面的工作基本停滞了有七八个月没有去碰了,因为感觉已经遇到了瓶颈,无论是速度还是效率方面,以当时的理解感觉都到了顶了。年初,公司业务惨淡,也无心向佛,总要找点事情做一做,充实下自己,这里选择了前期一直想继续研究的基于......
  • Qt 布局中控件重叠、挤压的解决方法
    问题描述:在QtDesigner中设计布局时,对所有控件使用QGridLayout、QHBoxLayout或QVBoxLayout布局设置。可以正常预览(Preview),但C++编译后,所有控件挤到一起,布局设置失效。问题解析:预览时正常,说明不是Qt的问题,应该与C++代码有关。问题解决:查看与ui关联的代码,发现这个......
  • 435. 无重叠区间c
    typedefstructnode{intleft;intright;}bounds;intcmp(constvoid*a,constvoid*b){bounds*x=(bounds*)a;bounds*y=(bounds*)b;if(x->right>y->right)return1;return-1;}interaseOverlapIntervals(int**interva......
  • T432580 星云 hard ver.
    原题链接题解一道搜索+模拟搜索每一位可以放哪个值(\([0,9]\)),然后累加搜索下一位注意细节code#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllf[10][105]={0};lln,k;llss(llnow,llleft){if(f[now][left])returnf[now][left];if......
  • (36/60)无重叠区间、划分字母区间、合并区间
    无重叠区间leetcode:435.无重叠区间贪心法思路去掉最少的区间数就是最少重叠区间对的个数。(成对的算,因为一对里面需要去掉一个)类似射气球的处理方式。左边界法:按左边界从小到大排序。遍历每个元素。取当前元素右边界为right判断是否重叠。如果[i]right>[i+1]left......
  • 代码随想录算法训练营第三十六天 | 56. 合并区间,763.划分字母区间,435. 无重叠区间
    435.无重叠区间 已解答中等 相关标签相关企业 给定一个区间的集合 intervals ,其中 intervals[i]=[starti,endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例1:输入:intervals=[[1,2],[2,3],[3,4],[1,3]]输出:1解......