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

全国中小企业网站iis wordpress安装教程

全国中小企业网站,iis wordpress安装教程,门户网站栏目规范化建设,网站建设专家北京注安优质博文#xff1a;IT-BLOG-CN 一、题目 给你一个无重叠的 #xff0c;按照区间起始端点排序的区间列表。在列表中插入一个新的区间#xff0c;你需要确保列表中的区间仍然有序且不重叠#xff08;如果有必要的话#xff0c;可以合并区间#xff09;。 示例 1#x…优质博文IT-BLOG-CN 一、题目 给你一个无重叠的 按照区间起始端点排序的区间列表。在列表中插入一个新的区间你需要确保列表中的区间仍然有序且不重叠如果有必要的话可以合并区间。 示例 1 输入intervals [[1,3],[6,9]], newInterval [2,5] 输出[[1,5],[6,9]] 示例 2 输入intervals [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval [4,8] 输出[[1,2],[3,10],[12,16]] 解释这是因为新的区间[4,8]与[3,5],[6,7],[8,10]重叠。 示例 3 输入intervals [], newInterval [5,7] 输出[[5,7]] 示例 4 输入intervals [[1,5]], newInterval [2,3] 输出[[1,5]] 示例 5 输入intervals [[1,5]], newInterval [2,7] 输出[[1,7]] 0 intervals.length 104 intervals[i].length 2 0 intervals[i][0] intervals[i][1] 105 intervals根据intervals[i][0]按升序排列 newInterval.length 2 0 newInterval[0] newInterval[1] 105 二、代码 对于区间S1[l1,r1]和S2[l2,r2]]如果它们之间没有重叠没有交集说明要么S1在S2的左侧此时有r1l2​要么S1在S2的右侧此时有l1r2​。 如果r1l2和l1r2二者均不满足说明S1和S2必定有交集它们的交集即为[max⁡(l1,l2),min⁡(r1,r2)]并集即为[min⁡(l1,l2),max⁡(r1,r2)] 模拟 在给定的区间集合X互不重叠的前提下当我们需要插入一个新的区间S[left,right]时我们只需要 【1】找出所有与区间S重叠的区间集合X′ 【2】将X′中的所有区间连带上区间S合并成一个大区间 【3】最终的答案即为不与X′重叠的区间以及合并后的大区间 这样做的正确性在于给定的区间集合中任意两个区间都是没有交集的因此所有需要合并的区间就是所有与区间S重叠的区间。并且在给定的区间集合已经按照左端点排序的前提下所有与区间S重叠的区间在数组intervals中下标范围是连续的因此我们可以对所有的区间进行一次遍历就可以找到这个连续的下标范围。 当我们遍历到区间[li,ri]时 【1】如果rileft说明[li,ri]与S不重叠并且在其左侧我们可以直接将[li,ri]加入答案 【2】如果liright说明[li,ri]与S不重叠并且在其右侧我们可以直接将[li,ri]加入答案 【3】如果上面两种情况均不满足说明[li,ri]与S重叠我们无需将[li,ri]加入答案。此时我们需要将S与[li,ri]合并即将S更新为其与[li,ri]的并集。 那么我们应当在什么时候将区间S加入答案呢由于我们需要保证答案也是按照左端点排序的因此当我们遇到第一个 满足liright的区间时说明以后遍历到的区间不会与S重叠并且它们左端点一定会大于S的左端点。此时我们就可以将S加入答案。特别地如果不存在这样的区间我们需要在遍历结束后将S加入答案。 class Solution {public int[][] insert(int[][] intervals, int[] newInterval) {int left newInterval[0];int right newInterval[1];boolean placed false;Listint[] ansList new ArrayListint[]();for (int[] interval : intervals) {if (interval[0] right) {// 在插入区间的右侧且无交集if (!placed) {ansList.add(new int[]{left, right});placed true; }ansList.add(interval);} else if (interval[1] left) {// 在插入区间的左侧且无交集ansList.add(interval);} else {// 与插入区间有交集计算它们的并集left Math.min(left, interval[0]);right Math.max(right, interval[1]);}}if (!placed) {ansList.add(new int[]{left, right});}int[][] ans new int[ansList.size()][2];for (int i 0; i ansList.size(); i) {ans[i] ansList.get(i);}return ans;} }时间复杂度 O(n)其中n是数组intervals的长度即给定的区间个数。 空间复杂度 O(1)。除了存储返回答案的空间以外我们只需要额外的常数空间即可。
http://www.zqtcl.cn/news/80402/

相关文章:

  • PHP网站开发方向启动wordpress linux
  • 深圳做app网站的公司甘肃省城乡与住房建设厅网站首页
  • 如何建设一个自己的网站wordpress链接 结尾
  • 网站ip过万大兴安岭网站推广
  • 百度做网站京东网店怎么开
  • 中文网站 可以做谷歌推广吗手机上那个网站做农产品推广比较好
  • 淘宝加盟网站建设网站开发注意
  • 工信部网站备案株洲seo网站推广
  • 网站怎么放到服务器上凤台做网站
  • saas系统是什么意思无锡优化网站费用
  • c 在网站开发方面有优势吗唐山seo设计网站
  • 昆山市建设监察大队网站绍兴市建设局网站
  • 网站与手机app是一体吗wordpress银联插件
  • wordpress网站打开很卡十堰网站建设weitian
  • 网站建设行业如何开o2o网站需要什么手续
  • 长沙市天心建设局网站我做的静态网站怎么发布到网上
  • html 网站开发软件公司注册域名查询
  • 案例上海网站潍坊网站建设求职简历
  • 威海做网站公司哪家好oppo商店官网入口
  • 内蒙建设信息网站电商网站开发教程
  • 网站建设与维护 唐清安尼乐清网站建设
  • 健身餐的网站怎么做网站前置审批 查询
  • php 企业建站cms北京正邦网站建设
  • 建设银行个人网站官网wordpress friday
  • 做海岛旅游预定网站的京东联盟网站怎么做
  • 可以做流程图的网站logo制作软件手机免费版
  • 高端大气网站源码做好我局门户网站建设工作
  • 西安有关做网站的公司怎么查看一个网站是谁做的
  • 做网站是干什么的广告设计合同模板
  • 昆山做网站价格微信网页版登陆入口