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

自己有网站做app吗站长工具域名解析

自己有网站做app吗,站长工具域名解析,wordpress停止循环,wordpress二级菜单展开1.题目描述 2.思路 思路参考了代码随想录&#xff1a; 按照左边界从小到大排序之后&#xff0c;如果 intervals[i][0] < intervals[i - 1][1] 即intervals[i]的左边界 < intervals[i - 1]的右边界&#xff0c;则一定有重叠。&#xff08;本题相邻区间也算重贴&#xff…

1.题目描述

在这里插入图片描述

2.思路

思路参考了代码随想录:

按照左边界从小到大排序之后,如果 intervals[i][0] <= intervals[i - 1][1] 即intervals[i]的左边界 <= intervals[i - 1]的右边界,则一定有重叠。(本题相邻区间也算重贴,所以是<=)
如果有合并,则把合并区间加入到结果数组中,如果没有合并,则将该区间加入到数组中。

例子:
在这里插入图片描述

在这里插入图片描述
return res.toArray(new int[res.size()][]);
//将 LinkedList<int[]> 转换成 int[][] 数组作为最终结果返回。

补充2:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

补充2:
在这里插入图片描述

补充3:
在这里插入图片描述

3.代码实现

方法1:不带测试用例

class Solution {public int[][] merge(int[][] intervals) {//?创建一个链表,res是动态的,可以随时插入和删除数组LinkedList<int[]> result=new LinkedList<>();//先将无序的二维数组,用自定义的规则进行排序,注意这块内容不熟练。将二维数组的左区间进行排序。Arrays.sort(intervals,(a1,a2)->Integer.compare(a1[0],a2[0]));//将第一个区间加入到res中,用于后序区间的比较和合并result.add(intervals[0]);//进行比较,如果第一个区间的右边界小于第二个区间的左边界,则进行合并//二维数组可以看作一维数组的数组,i从第二个元素开始(i=1),因为第一个元素(i=0)已经加入到res中for(int i=1;i<intervals.length;i++){if(result.getLast()[1]>=intervals[i][0]){//开始判断新区间的起始位置和结束位置,因为经过排序后,左边界的最小值是res一开始加入的区间的左边界int begin=result.getLast()[0];int end=Math.max(result.getLast()[1],intervals[i][1]);//删除原来的旧区间result.remove(result.getLast());// result.removeLast();//将合并的新区间(一维数组)加入到res中,result.add(new int[]{begin,end});}else{//如果两个区间不重合,直接把当前区间(Y一维数组)加入到结果数组中result.add(intervals[i]);}}return result.toArray(new int[result.size()][]);}}

方法二:带测试用例

import java.util.Arrays;
import java.util.LinkedList;public class H56 {public int[][] merge(int[][] intervals) {//?创建一个链表,res是动态的,可以随时插入和删除数组LinkedList<int[]> result=new LinkedList<>();//先将无序的二维数组,用自定义的规则进行排序,注意这块内容不熟练。将二维数组的左区间进行排序。Arrays.sort(intervals,(a1,a2)->Integer.compare(a1[0],a2[0]));//将第一个区间加入到res中,用于后序区间的比较和合并result.add(intervals[0]);//进行比较,如果第一个区间的右边界小于第二个区间的左边界,则进行合并//二维数组可以看作一维数组的数组,i从第二个元素开始(i=1),因为第一个元素(i=0)已经加入到res中for(int i=1;i<intervals.length;i++){if(result.getLast()[1]>=intervals[i][0]){//开始判断新区间的起始位置和结束位置,因为经过排序后,左边界的最小值是res一开始加入的区间的左边界int begin=result.getLast()[0];int end=Math.max(result.getLast()[1],intervals[i][1]);//删除原来的旧区间result.remove(result.getLast());//result.removeLast();//将合并的新区间(一维数组)加入到res中,result.add(new int[]{begin,end});}else{//如果两个区间不重合,直接把当前区间(Y一维数组)加入到结果数组中result.add(intervals[i]);}}return result.toArray(new int[result.size()][]);}public static void main(String[] args){H56 test2=new H56();int[][] intervals={{1,3},{2,6},{8,10},{15,18}};int[][] res=test2.merge(intervals);System.out.println("合并后的区间结果:");for(int[] m:res){//m本来是1维数组带花括号,打印成中括号的1维数组System.out.println(Arrays.toString(m));}}}

在这里插入图片描述

http://www.dtcms.com/wzjs/269413.html

相关文章:

  • 网站开发维护花费重庆seo海洋qq
  • python 自己做网站网络销售怎么样
  • 烟台做网站打电话话术青岛百度网站排名
  • 免费的ui设计的网站百度sem推广
  • 360怎么做网站高质量外链平台
  • 网站备案号取消原因什么是互联网营销师
  • wordpress .ht优化推广服务
  • 基于wamp的动态网站开发最厉害的搜索引擎
  • wordpress bae广州seo技术外包公司
  • 酒店网站制作关键词排名规则
  • 山东青岛网站建设优化关键词的方法
  • 邢台企业做网站推广百度极速版推广员怎么申请
  • ai做网站 如何切图学生个人网页制作
  • php商城网站的要求与数据专业搜索引擎seo合作
  • 做一个网站多久谷歌浏览器引擎入口
  • 哈尔滨营销网站制作网络整合营销4i原则是指
  • y2学年做的租房网站关键词排名优化提升培训
  • 免费b2b网站推广ww网络营销师培训费用是多少
  • 建网站多少如何快速推广
  • 济宁网站建设案例展示百度推广渠道代理
  • 网站建设需要学的职业技能培训机构
  • 网站建设中html5百度网盘官网登陆入口
  • 快速建立平台网站开发需要多少钱如何做好网络营销
  • 网站建设竞价托管外包锦州网站seo
  • 微商城网站建设策划方案深圳网络运营推广公司
  • 做的网站要花钱吗游戏优化大师手机版
  • 阳江有哪些建站公司英文seo实战派
  • php 个人网站网络营销推广方法
  • 开发区网站建设方案网站制作的服务怎么样
  • 创业做旅游网站重庆百度推广