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

精品源码分享的网站软文通

精品源码分享的网站,软文通,网站建设市场定位,装修公司加盟哪个好判断区间是否重叠 问题描述 给定一个会议时间安排数组intervals,每个会议时间都包括开始时间和结束时间,intervals[i] [starti,endi],请你判断一个人是否能够参加这里面的全部会议。详见leetcode252 问题分析 先将会议安排数组按照开始时间排序&…

判断区间是否重叠

问题描述

给定一个会议时间安排数组intervals,每个会议时间都包括开始时间和结束时间,intervals[i] = [starti,endi],请你判断一个人是否能够参加这里面的全部会议。详见leetcode252

问题分析

先将会议安排数组按照开始时间排序,判断是否有后一会议的开始时间是在前一结束时间之前,如有,则存在区间重叠,否则不存在。

代码实现

public boolean canAttendMeetings(int[][] intervals){Arrays.sort(intervals,(a,b)->a[0]-b[0]);for(int i=1;i<intervals.length;i++){if(intervals[i][0]<intervals[i-1][1]){return false;}}return true;
}

合并区间

问题描述

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

问题分析

创建一个与会议数组相同大小的结果数组,用于存放合并后结果。先将数组按照开始时间进行排序,将第一个会议数组元素放入结果数组中,从第二个会议元素开始,依次比较后一个会议数组元素的开始时间是否在前一会议数组结束时间之前,如是,取两者较小的开始时间作为合并后的开始时间,取两者较大的结束时间作为合并后的结束时间,放入结果数组中。

代码实现

public int[][] merge(int[][] intervals) {Arrays.sort(intervals,(a,b)->(a[0]-b[0]));int[][] res = new int[intervals.length][2];res[0] = intervals[0];int index = 0;for(int i=1;i<intervals.length;i++){if(intervals[i][0]<=res[index][1]){int start = Math.min(intervals[i][0],res[index][0]);int end = Math.max(intervals[i][1],res[index][1]);res[index][0] = start;res[index][1] = end;}else{index++;res[index] = intervals[i];}}return Arrays.copyOf(res,index+1);
}

插入区间

问题描述

给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。详见leetcode57

问题分析

给定的区间列表已经是无重叠,按照区间起始端点排序,则我们自己不需要排序了,创建一个比给定区间列表长度大1的结果数组,当区间列表的结束时间小于带插入数组的开始时间时,直接将区间列表放入结果数组。当区间列表的开始时间大于等于带插入数组的开始时间,或者区间列表的结束时间大于等于带插入数组的结束时间(即带插入数组与区间列表有重叠时),可以将区间列表先统一合并到带插入数组,直至区间列表的开始时间大于带插入数组的结束时间,将带插入数组放入结果数组,将剩余的区间列表元素也放入带插入数组。

代码实现

public int[][] insert(int[][] intervals, int[] newInterval) {if(newInterval.length ==0){return intervals;}int[][] res = new int[intervals.length+1][2];if(intervals.length==0){res[0] = newInterval;return res;}int index = 0;int i = 0;while(index<intervals.length&&intervals[index][1]<newInterval[0]){res[i] = intervals[index];index++;i++;}while(index<intervals.length&&intervals[index][0]<=newInterval[1]){newInterval[0] = Math.min(intervals[index][0],newInterval[0]);newInterval[1] = Math.max(intervals[index][1],newInterval[1]);index++;}res[i++] = newInterval;while(index<intervals.length){res[i] = intervals[index];index++;i++;}return Arrays.copyOf(res,i);
}
http://www.hengruixuexiao.com/news/10755.html

相关文章:

  • 重庆做网站怎么做呀品牌策划方案ppt
  • 自助建网站的平台 数据库万网阿里云域名查询
  • 赚钱网站导航代写软文费用全网天下实惠
  • 网页qq版aso优化排名
  • 做网站有哪些技术seo快速排名软件app
  • 苍南做网站哪里找百度风云榜明星
  • 淘宝网站代做百度小说搜索风云排行榜
  • 海口网站建设多少钱百度推广怎么登陆
  • 做网站前端实战视频谷歌seo站内优化
  • 网站开发的小结seo工作流程
  • 石家庄站到正定机场销售方案怎么做
  • 做网站前台用什么怎么查看域名是一级还是二级域名
  • 定制网站收费免费的网站软件下载
  • 做网站数据库设计一键生成网站
  • 自己做网站能赚钱么怎么给自己的公司建立网站
  • asia域名的网站网上营销型网站
  • 人大常委会网站建设nba实力榜最新排名
  • 手机做任务佣金的网站培训机构好还是学校好
  • 个人网站建设素材武汉seo霸屏
  • 好的文化网站模板怎么制作百度网页
  • nginx rewrite wordpress重庆seo整站优化报价
  • 中建建设银行网站seo优化公司排名
  • 德州建设局网站点金推广优化公司
  • 馆陶专业做网站花都网络推广seo公司
  • 做枪版视频网站犯法吗企业培训系统
  • 政府网站整改 对做网站关键字销售平台有哪些
  • 网站内容的编辑和更新怎么做的东莞市民最新疫情
  • 网站怎么做优化推广信息发布网站有哪些
  • 女孩和狗做网站app推广怎么做
  • 网站开发企业需要什么资质百度搜索热词排行榜