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

qq怎么做网站客服郑州专业seo首选

qq怎么做网站客服,郑州专业seo首选,西安哪家网站公司做的比较好,网站建设制作细节题目描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:interv…

题目描述

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

示例 1:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:

输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

思路

合并区间的思路如下:

  1. 排序:首先,我们需要对输入的区间数组按照每个区间的起始位置进行排序。这样做的原因是,如果区间有重叠,那么它们一定是连续的。通过排序,我们可以确保连续的区间在数组中是相邻的。

  2. 合并:遍历排序后的区间数组。对于每个区间,我们检查它是否与前一个区间重叠。如果重叠,我们就将当前区间与前一个区间合并,即将当前区间的结束位置更新为这两个区间的结束位置的较大值。

  3. 添加:如果当前区间与前一个区间不重叠,那么我们就将当前区间添加到结果列表中。

  4. 返回:最后,我们将结果列表转换为一个数组并返回。

这个算法的时间复杂度是O(n log n),因为我们需要对区间进行排序。其中,n是区间的数量。排序的时间复杂度是O(n log n),遍历区间的时间复杂度是O(n),所以总的时间复杂度是O(n log n)。

空间复杂度是O(n),因为在最坏的情况下,我们可能需要存储所有的区间(如果没有任何区间重叠)。

代码

import java.util.Arrays;
import java.util.Comparator;
import java.util.LinkedList;public class Solution {public int[][] merge(int[][] intervals) {// 先按照区间的起始位置进行排序Arrays.sort(intervals, Comparator.comparingInt(a -> a[0]));LinkedList<int[]> merged = new LinkedList<>();for (int[] interval : intervals) {// 如果列表为空,或者当前区间与上一区间不重合,直接添加if (merged.isEmpty() || merged.getLast()[1] < interval[0]) {merged.add(interval);} else {// 否则,我们就可以确定前一个区间的结束位置一定是大于等于当前区间的开始位置的,// 所以我们就可以把当前区间合并到前一个区间merged.getLast()[1] = Math.max(merged.getLast()[1], interval[1]);}}return merged.toArray(new int[merged.size()][]);}public static void main(String[] args) {Solution solution = new Solution();int[][] intervals = {{1, 3}, {2, 6}, {8, 10}, {15, 18}};int[][] mergedIntervals = solution.merge(intervals);for (int[] interval : mergedIntervals) {System.out.println(Arrays.toString(interval));}}
}

 

这段代码首先对输入的区间数组按照起始位置进行排序。然后,我们创建一个空的LinkedList来存储合并后的区间。对于每个区间,我们检查它是否与merged中的最后一个区间重叠。如果merged为空或者当前区间的起始位置大于merged中最后一个区间的结束位置,那么我们就直接将当前区间添加到merged中。否则,我们就将当前区间与merged中的最后一个区间合并,即将当前区间的结束位置更新为这两个区间的结束位置的较大值。

最后,我们将merged转换为一个数组并返回。

main方法中,我们创建了一个Solution对象,并调用merge方法来合并给定的区间数组。然后,我们打印出合并后的区间数组。

http://www.ds6.com.cn/news/106635.html

相关文章:

  • php动态网站开发项目教程会计培训班有用吗
  • 关于政府网站建设最新要求销售培训课程一般有哪些
  • 如何用ps做网站首页网络推广站
  • 平板购物网站建设廊坊网站seo
  • 制作官网的公司性价比高沈阳seo网站推广
  • 巨野做网站的seo推广专员工作内容
  • 网站中怎么做网站统计武汉seo群
  • 北京做企业网站的公司市场营销案例分析
  • 毕业设计拼车网站的建设雨实现武汉百度推广外包
  • 昆明网站托管企业如何让自己的网站快速被百度收录
  • 专做外贸的网站宁波营销型网站建设优化建站
  • 顺德建网站成品app直播源码有什么用
  • 在哪找专业做淘宝网站百度拉新推广平台
  • 盐边网站建设百度客服24小时电话
  • 新建网站解析域名店铺推广软文范例
  • 做外汇需要关注哪几个网站百度关键词排名点击
  • 做网站的升级人网站如何做优化排名
  • 兼职做网站的软件晚上国网app
  • 怎么把做网站发给别人简述企业网站推广的一般策略
  • 邢台哪里有做网站的打开网址跳转到国外网站
  • wordpress have_posts循环key搜索引擎优化叫什么
  • 品牌网站建设费中央下令全国各地核酸检测
  • 怎样买网站建设济南网站seo哪家公司好
  • 美食网站功能建设新冠病毒最新消息
  • 南京广告公司电话优化设计
  • 注销营业执照上海百网优seo优化公司
  • 无锡做网站中企动力网站推广的主要方法
  • 网站页面设计和结构的技巧百度免费安装下载
  • 网站建设补充范本b站推广网站2024年不用下载
  • 做网站租服务器需要多少钱seo推广的网站和平台有哪些