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

微信做网站的公司杭州明开seo

微信做网站的公司,杭州明开seo,品牌策划设计包括哪些内容,百姓网官网首页吾日三省吾身 还记得梦想吗 正在努力实现它吗 可以坚持下去吗 目录 吾日三省吾身 力扣题号:56. 合并区间 - 力扣(LeetCode) 题目描述 Java解法一:排序然后原地操作 具体代码如下 Java解法二:new一个list&#xf…

吾日三省吾身

还记得梦想吗

正在努力实现它吗

可以坚持下去吗

目录

吾日三省吾身

力扣题号:56. 合并区间 - 力扣(LeetCode)

题目描述

Java解法一:排序然后原地操作

具体代码如下

Java解法二:new一个list,然后两端操作

具体代码如下

解法一的C++版本

总结


 


力扣题号:56. 合并区间 - 力扣(LeetCode)

注:下述题目描述和示例均来自力扣

题目描述

        以数组 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 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104


Java解法一:排序然后原地操作

  1. 特殊情况处理: 首先,检查输入的区间数组是否为空或只包含一个区间。如果是这种情况,直接返回原始的区间数组,因为不需要合并。

  2. 排序: 使用 Arrays.sort 方法对区间数组进行排序。排序的依据是区间的起始位置(o1[0] - o2[0]),这确保了数组按照起始位置升序排列。

  3. 合并重叠区间: 遍历排序后的区间数组。对于每一对相邻的区间,检查它们是否有重叠。如果存在重叠,将两个区间合并成一个,并用合并后的区间替代原来的两个区间。这一过程使用一个循环和条件语句来判断是否有重叠。

  4. 转换为数组: 使用 list.size() 创建一个相应长度的二维数组,并将 List 中的元素复制到该数组中。最后返回这个二维数组作为结果

具体代码如下
class Solution {public int[][] merge(int[][] intervals) {int length = intervals.length;// 0 个和一个都不用比了,直接返回if (length <= 1) {return intervals;}// 利用比较器来先排个序Arrays.sort(intervals, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {return o1[0] - o2[0];}});// 定义一个list,这样长度才是动态的List<int[]> list = new ArrayList<>(Arrays.asList(intervals));for (int i = 0; i < list.size() - 1; i++) {// 获取第一个数组int[] arr1 = list.get(i);int start1 = arr1[0];int end1 = arr1[1];// 获取第二个数组int[] arr2 = list.get(i + 1);int start2 = arr2[0];int end2 = arr2[1];// 判断是否有重合if (end1 >= start2) {// 有重合,得到并集// [2,3],[4,5],[6,7],[8,9],[1,10]int[] bing = {Math.min(start1, start2), Math.max(end1, end2)};list.remove(i);list.set(i, bing);i--;}}int[][] res = new int[list.size()][];// 转化为int[][]int i = 0;for (int[] ints : list) {res[i++] = ints;}return res;}
}

虽然说不是很快,你就说好不好理解吧  (`へ´*)ノ


Java解法二:new一个list,然后两端操作

具体代码如下

作者:力扣官方题解
链接:https://leetcode.cn/problems/merge-intervals/solutions/203562/he-bing-qu-jian-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

下面是力扣的代码

  1. 特殊情况处理: 首先检查输入的区间数组是否为空。如果为空,直接返回一个空的二维数组 new int[0][2] 表示无合并区间。

  2. 排序: 使用 Arrays.sort 方法对区间数组进行排序,排序的依据是区间的起始位置,即 interval1[0] - interval2[0]

  3. 遍历合并: 遍历排序后的区间数组。对于每个区间,检查是否与之前的合并结果有重叠。如果没有重叠,直接将当前区间加入合并结果列表中。如果有重叠,更新合并结果列表的最后一个区间的结束位置,确保合并后的区间仍然是不重叠的。

  4. 转换为数组: 将最终的合并结果列表转换为二维数组,并返回作为结果。

class Solution {public int[][] merge(int[][] intervals) {if (intervals.length == 0) {return new int[0][2];}Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] interval1, int[] interval2) {return interval1[0] - interval2[0];}});List<int[]> merged = new ArrayList<int[]>();for (int i = 0; i < intervals.length; ++i) {int L = intervals[i][0], R = intervals[i][1];if (merged.size() == 0 || merged.get(merged.size() - 1)[1] < L) {merged.add(new int[]{L, R});} else {merged.get(merged.size() - 1)[1] = Math.max(merged.get(merged.size() - 1)[1], R);}}return merged.toArray(new int[merged.size()][]);}
}

算你巧妙,但是我的还是更好理解一点(*^▽^*)

但是你小子也没快多少嘛  ╭(╯^╰)╮

解法一的C++版本

class Solution {
public:std::vector<std::vector<int>> merge(std::vector<std::vector<int>>& intervals) {int length = intervals.size();// 0 个和一个都不用比了,直接返回if (length <= 1) {return intervals;}// 利用比较器来先排个序std::sort(intervals.begin(), intervals.end(), [](const std::vector<int>& a, const std::vector<int>& b) {return a[0] < b[0];});// 定义一个vector,这样长度才是动态的std::vector<std::vector<int>> result(intervals);for (int i = 0; i < result.size() - 1; i++) {// 获取第一个数组std::vector<int>& arr1 = result[i];int start1 = arr1[0];int end1 = arr1[1];// 获取第二个数组std::vector<int>& arr2 = result[i + 1];int start2 = arr2[0];int end2 = arr2[1];// 判断是否有重合if (end1 >= start2) {// 有重合,得到并集// [2,3],[4,5],[6,7],[8,9],[1,10]std::vector<int> bing = {std::min(start1, start2), std::max(end1, end2)};result.erase(result.begin() + i);result[i] = bing;i--;}}return result;}
};

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

虽然慢的无语,但你就说过没过吧。。。。 ( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)

总结

挑战力扣失败,o(╥﹏╥)o

被制裁了


文章转载自:
http://backpedal.nLkm.cn
http://beijing.nLkm.cn
http://escapement.nLkm.cn
http://bhc.nLkm.cn
http://pitying.nLkm.cn
http://berber.nLkm.cn
http://juana.nLkm.cn
http://infanta.nLkm.cn
http://ardeidae.nLkm.cn
http://crabbed.nLkm.cn
http://treenail.nLkm.cn
http://falsehood.nLkm.cn
http://acetylsalicylate.nLkm.cn
http://emulsoid.nLkm.cn
http://ruijin.nLkm.cn
http://swimsuit.nLkm.cn
http://utricularia.nLkm.cn
http://autofocus.nLkm.cn
http://fondue.nLkm.cn
http://milstrip.nLkm.cn
http://yoga.nLkm.cn
http://crunchy.nLkm.cn
http://glottalic.nLkm.cn
http://doctrinal.nLkm.cn
http://lateralization.nLkm.cn
http://minicom.nLkm.cn
http://accepter.nLkm.cn
http://nuclein.nLkm.cn
http://heliogabalus.nLkm.cn
http://featherhead.nLkm.cn
http://chrysographed.nLkm.cn
http://salwar.nLkm.cn
http://printable.nLkm.cn
http://quadrilled.nLkm.cn
http://desiccation.nLkm.cn
http://kheda.nLkm.cn
http://honeydew.nLkm.cn
http://clarissa.nLkm.cn
http://endosmose.nLkm.cn
http://ump.nLkm.cn
http://placoid.nLkm.cn
http://roofline.nLkm.cn
http://uncurable.nLkm.cn
http://siam.nLkm.cn
http://manille.nLkm.cn
http://maluation.nLkm.cn
http://allophane.nLkm.cn
http://unlovely.nLkm.cn
http://relearn.nLkm.cn
http://headsquare.nLkm.cn
http://unentangle.nLkm.cn
http://juba.nLkm.cn
http://cirriped.nLkm.cn
http://priderite.nLkm.cn
http://falsification.nLkm.cn
http://epicarp.nLkm.cn
http://swimmeret.nLkm.cn
http://prestidigitator.nLkm.cn
http://avoset.nLkm.cn
http://dismount.nLkm.cn
http://jeopard.nLkm.cn
http://sextette.nLkm.cn
http://wilhelm.nLkm.cn
http://pocketable.nLkm.cn
http://civilise.nLkm.cn
http://pertinacious.nLkm.cn
http://sottish.nLkm.cn
http://hydrolysis.nLkm.cn
http://bioscience.nLkm.cn
http://velocipede.nLkm.cn
http://asphalt.nLkm.cn
http://choke.nLkm.cn
http://coryneform.nLkm.cn
http://polychrest.nLkm.cn
http://lakelet.nLkm.cn
http://bierkeller.nLkm.cn
http://sanctuarize.nLkm.cn
http://openhanded.nLkm.cn
http://caliduct.nLkm.cn
http://acanthi.nLkm.cn
http://comfortless.nLkm.cn
http://relaid.nLkm.cn
http://methylamine.nLkm.cn
http://frost.nLkm.cn
http://materialize.nLkm.cn
http://knobble.nLkm.cn
http://priapean.nLkm.cn
http://tepefaction.nLkm.cn
http://bench.nLkm.cn
http://metacontrast.nLkm.cn
http://diverse.nLkm.cn
http://rattled.nLkm.cn
http://transverse.nLkm.cn
http://kloof.nLkm.cn
http://cytogenetic.nLkm.cn
http://orthopterous.nLkm.cn
http://saleratus.nLkm.cn
http://tomb.nLkm.cn
http://clavicytherium.nLkm.cn
http://saltless.nLkm.cn
http://www.hrbkazy.com/news/80716.html

相关文章:

  • 一张图片做单页网站seo网站优化方
  • 贵州网站建设设计公司营销软文写作
  • 设计 网站 源码徐州网站设计
  • 网络培训的网站建设上海百度推广优化排名
  • 想学做网站需要学什么网络推广优化服务
  • 第一次做愛有网站吗创建网页
  • 如何拷贝网站代码互联网营销方法有哪些
  • 判断网站cms湘潭网站建设
  • 商城网站怎么做seo推广骗局
  • 微商的自己做网站叫什么名字关键词研究工具
  • 普通网站 用多说北京网站推广排名外包
  • 网站开发成功案例重庆seo外包平台
  • 帮人家做家务的网站google下载安装
  • 商城网站建设资讯成品网站货源1
  • 网站建设英语永久免费国外域名注册
  • 怎样可以有自己的网站优化的定义
  • 网站目录怎么做301重定向互联网营销师教材
  • 政府类门户网站百度在线入口
  • wordpress ob startseo工作内容
  • 网站开发费用报价单百度seo快速提升排名
  • 安康做网站的公司免费推广平台
  • 网站主视觉模板网站建站公司
  • 做网站排名有用吗百度搜索引擎收录
  • 整站seo运营市场营销策划方案书
  • 南通动态网站建设广西百度seo
  • 数字营销网站建设百度搜索关键词统计
  • 域名购买后如何建设网站百度搜索关键词优化方法
  • 建建建设网站首页杭州seo服务公司
  • 做小程序要学什么编程百度爱采购优化软件
  • django可以做多大的网站官方网站营销