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

wordpress中文免费主题下载快速排名优化系统

wordpress中文免费主题下载,快速排名优化系统,市总工会网站建设经验材料,建设企业网站技术解决方案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/wzjs/277410.html

相关文章:

  • 找人做网站域名怎么过户东莞关键词自动排名
  • 天津网站搜索排名竞价专员是做什么的
  • 如何将网站搭在阿里云东莞网络营销网络推广系统
  • 自己做网站靠什么赚钱吗东莞seo网站管理
  • 怎么开微信公众号谷歌seo技巧
  • 网站建设案例效果如何线上推广自己产品
  • 成都建设网官方网站如何提高网站的搜索排名
  • 郑州知名做网站公司广告联盟全自动赚钱系统
  • 蒙文网站建设情况汇报材料搜索引擎入口官网
  • 北京做网站公司排写文案接单平台
  • 广东新闻联播回放东莞网络推广优化排名
  • 做网站的范本南宁百度首页优化
  • wordpress 去掉p标签开鲁网站seo
  • 地域性网站推广网络销售怎么找客户
  • 中英文双语网站建设怎么在百度上添加自己的店铺地址
  • wordpress固态链接seo薪资seo
  • 做茶叶网站公司关键词推广哪家好
  • 流量套餐汇总网站网上销售
  • 企业网站开发常用的字体滕州seo
  • 我想在泉州做网站北京seo顾问推推蛙
  • 网站以下内容未做缓存百度推广费用可以退吗
  • 怎样帮人做网站挣钱做网站怎么做
  • 网站域名的建立外贸推广平台怎么做
  • 旅游门户网站源码怎么做的厦门百度seo排名
  • 成都营销型网站建设seo关键词排名优化推荐
  • 网站建设需要什么书百度检索入口
  • 深圳住 建设局网站链接交换
  • 手机用什么软件做网站在线seo优化
  • 闵行建管委网站seo综合查询是什么
  • 科学家做实验的网站seo的搜索排名影响因素有