LeetCode刷题191123
2024-09-01 22:18:27
博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教。题目及解法来自于力扣(LeetCode),传送门。
算法:
给出一个区间的集合,请合并所有重叠的区间。
示例 1:
输入: [[1,3],[2,6],[8,10],[15,18]]
输出: [[1,6],[8,10],[15,18]]
解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:
输入: [[1,4],[4,5]]
输出: [[1,5]]
解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。
刷题以来第一次比较顺利的做出来,并且效率还可以,嘻嘻。
public class Solution {
public int[][] Merge(int[][] intervals)
{
var outBegin = ;
var outNext = ; var result = new List<int[]>(); intervals = intervals.OrderBy(x => x[]).ToArray(); while (outNext < intervals.Length)
{
if (result.FirstOrDefault() != null && result[outBegin][] >= intervals[outNext][])
{
outNext++;
continue;
} if (result.FirstOrDefault() == null)
{
result.Add(intervals[]);
}
else if (result[outBegin][] >= intervals[outNext][])
{
result[outBegin][] = intervals[outNext][];
}
else
{
result.Add(intervals[outNext]);
outBegin++;
} outNext++;
} return result.ToArray();
}
}
思路其实是受了昨天刷题官方解法的启发,滑动窗口。与之前一样,有一些特殊情况需要额外处理一下,如{[1,4],[2,3]},这种情况下[2,3]其实是包含在[1,4]内部的,所以其实输出的结果还是[1,4]。又如[2,4],[1,4]这种例子,如果只是简单的循环不排序的话,容易产生[2,4],[1,4]这样两个区间的错误答案。
官方解法传送门:https://leetcode-cn.com/problems/merge-intervals/solution/he-bing-qu-jian-by-leetcode/
官方提供了两种解法,第一种暴力穷举的方式就不谈了。第二种其实和上面的滑动窗口的思路类似。
最新文章
- 利用sphinx为python项目生成API文档
- ORACLE DBA_OBJECTS视图中OBJECT_TYPE为LOB的对象查看
- js的日期控件
- spawn-fcgi
- 删除重复记录(Mysql,SqlServer,Sqlite)
- 让站长在SEO时更得心应手的六个细节
- leetcode之Count Complete Tree Nodes
- localStorage保存账号密码
- Java的反射机制及应用实例
- Git版本控制器的使用
- nginx配置https双向验证(ca机构证书+自签证书)
- 使用fiddlercore修改网页的返回内容
- HAProxy详解(二):HAProxy基础配置与应用实例
- 【原创】运维基础之OpenResty(Nginx+Lua)+Kafka
- Unity Mathf/Math数学运算函数说明全集(Chinar总结)
- windows上python上传下载文件到linux服务器指定路径【转】
- [RequireComponent(typeof(....))]
- Notes of Daily Scrum Meeting(12.5)
- Oracle 的四种连接-左外连接、右外连接、内连接、全连接
- HBTS(HBOI) 2019 真实退役记
热门文章
- luogu P1908 逆序对 |树状数组
- iOS开发-KVO的奥秘
- GZIP怎么运用在.NET MVC 简单实现
- MYSQL“错误代码#1045 Access denied for user &#39;root&#39;@&#39;********8&#39; (using password:YES)”
- [TimLinux] Python 再谈装饰器
- openlayers5-webpack 入门开发系列结合 echarts4 实现散点图(附源码下载)
- BZOJ 3107 [cqoi2013]二进制a+b (DP)
- tensorflow sequence_loss
- 关于C 语言的字符串常量拼接
- Swing JTable使用