当前位置: 首页 > news >正文

现在做网站还赚钱吗在线网页制作网站

现在做网站还赚钱吗,在线网页制作网站,海洋cms做电影网站好做吗,深圳双区建设1.题目介绍 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 1 < intervals.length < 104interval…

1.题目介绍

        以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

2.解决思路

        题目的意思是给我们一个由许多个长度为2的小数组组成的大数组,将其中每个小数组看成一个整数区间,我们需要将其中存在重合的区间代表的数组进行合并,即[1,3][2,6]代表的两个区间存在重复范围,所以他们重合的结果就是[1,6]。所以要完成这个需求,我们首先想到的就是遍历这个数组,取出他们的区间的左右值进行比较,如果比较存在重合就进行合并并存入结果。考虑到小数组的左区间可能不是递增的,所以我们需要先对其进行排序,排序后能够保证在整个大数组中区间的左值一定小于区间的右值。

3.步骤讲解

        1.当数组为空时,我们直接返回一个空数组即可

        2.对大数组进行排序,以其中小数组区间的左值的大小进行升序排序

        3.定义结果集合,用于存储合并后的结果数组

        4.遍历数组,定义L和R记录每次遍历到的小数组区间的左值和右值

        5.对结果集合进行判断,如果结果集合为空或者其中最后一个数组的右边界小于当前遍历到的数组的左边界时;要么首次遍历到,需要首先对结果结合进行初始化,要么说明本次遍历到的区间与上一个区间不重合。这两种情况都需要直接将本次的数组直接插入集合。

        如果不是上面两种情况,则说明当前遍历到的数组区间与结果集合中的数组区间存在重合,需要进行合并。但我们是前面的排序是对区间的左值进行的排序,所以可能存在一些左值相同的数组,其右值是乱序的([0,3][0,1][0,2]),所以我们在合并时不能简单的直接将新的右值赋值到区间当前的右值,需要进行比较取其较大值。

        6.最终结果数组集合中存储着所有合并后的数组,对集合转为数组后进行返回

4.代码展示

public static int[][] test(int[][] intervals){//排除空数组情况if (intervals.length == 0) {return new int[0][2];}//以子数组中首个元素大小数组进行升序排序Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] interval1, int[] interval2) {return interval1[0] - interval2[0];}});//定义数组结果集合List<int[]> merged = new ArrayList<int[]>();//遍历数组for (int i = 0; i < intervals.length; ++i) {//分别记录当前子数组中两个元素的值int L = intervals[i][0], R = intervals[i][1];//如果结果数组集合为空或结果数组集合最后一个数组的右边界值小于当前子数组的左边界值时,直接加入结果数组集合if (merged.size() == 0 || merged.get(merged.size() - 1)[1] < L) {merged.add(new int[]{L, R});} else {//否则当前子数组的左边界值一定小于结果数组集合中最后一个数组的有边界值(即存在重合),所以直接将结果数组集合的最后一个数组的右边界元素改为两者的较大值merged.get(merged.size() - 1)[1] = Math.max(merged.get(merged.size() - 1)[1], R);}}//将结果数组集合转为数组返回return merged.toArray(new int[merged.size()][2]);}

5.执行结果

在leetcode中测试用例平均耗时7ms

内存分布45.72MB 

http://www.dtcms.com/a/452020.html

相关文章:

  • 个人做企业 网站公司网站找哪家
  • 什么查网站是否降权那个相亲网站做的比较好
  • 建设网站制flash xml网站
  • 网站设计知名企业在百度做广告多少钱
  • python网站搭建广州做手机网站建设
  • 音乐网站建设规划书汕头网站建设设计价格
  • 瓷器网站怎么做win2003搭建php网站
  • html5在线网站nas可以做网站吗
  • 北京网站备案在哪污水处理厂网站建设
  • 建网站需什么条件个人免费建站系统
  • 合肥建站推广贴吧推广400一个月
  • 网站开发文案模板icp备案号怎么填写
  • 做视频采集网站犯法网页主题设计思路及制作步骤
  • 看手机的网站做网站获取手机号码
  • 旅游网站开发系统郑州网站建设 云极
  • 公司网站改版要怎么做广告联盟平台排名
  • seo网站建设接单温州网页设计美工招聘
  • app网站开发流程图开发一个网站系统报价
  • 莆田高端网站建设做网站推广托管费用
  • 如何建设网站的管理平台韩国服务器
  • 怎样注册网站帐号申请小程序接入wordpress
  • 广西工程建设质量管理协会网站手机软件开发
  • 山东响应式网站开发多个wordpress管理系统
  • wordpress twitter网站如何进行seo
  • 国外服务器电商网站上海公司排名大全
  • 网站做点线表格中小型企业网站优化价格
  • 咸阳市城乡建设规划局网站中国营销在线网
  • 播放视频网站怎么做的杭州定制网站建设
  • 网站最好服务器网站程序问题
  • 邯郸做网站找谁网站企业建站