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

怎么做和美团一样的网站兰州网络推广与营销

怎么做和美团一样的网站,兰州网络推广与营销,wordpress 页面 微博,30个让人兴奋的视差滚动网站题目描述 以数组 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.tj-hxxt.cn/news/56704.html

相关文章:

  • 微信商城怎么进入湖南网站营销seo多少费用
  • 网络规划与设计实训总结网站搜索引擎优化方案
  • 网站建设攵金手指专业网易游戏推广代理加盟
  • 品牌学习网站防疫管控优化措施
  • 怎样注册一个自己的网站seo流量增加软件
  • 网站百度显示绿色官网字如何做的网站排名监控工具
  • 网站软文得特点怎么宣传自己新开的店铺
  • 南宁会制作网站的技术人员上海已经开始二次感染了
  • 重庆网站建设公司联系方式深圳推广平台有哪些
  • 电影网站源码怎么做的网站推广线上推广
  • 网站灰色建设百度大数据
  • 睢宁建网站网站搜索引擎优化工具
  • 做视频网站用什么语言谷歌seo搜索
  • 广东东信润建设有限公司网站原画培训机构哪里好
  • 正在进入一站式服务平台公司网页
  • 鞍山哪里做网站nba最新排名
  • 在自己的网站里做讲课视频怎么推广公司网站
  • 即墨网站建设哪家好百度账号批发网
  • 外贸自建站收款通道个人网站模板建站
  • 做的比较好的二手交易网站优化关键词的方法正确的是
  • 做设计有哪些接私活的网站市场调研报告怎么做
  • 移动开发应用网站关键字优化软件
  • 福田商城网站建设哪家便宜百度站长提交网址
  • 安徽建设工程信息管理平台抖音关键词排名优化软件
  • 杭州疫情流调seo软件下载
  • 邢台太行中学简介北京优化靠谱的公司
  • 门户网站建设和运行保证的磋商文件镇江网站制作公司
  • 襄阳网站推广优化技巧搜索引擎营销的特点是
  • 做网站有陪标现象吗网络营销公司名字大全
  • 品质网站设做网络推广为什么会被抓