LeetCode 56. 合并区间(优先队列)

文章目录

    • 1. 题目信息
    • 2. 解题
      • 2.1 报错的答案
      • 2.2 优先队列解题

1. 题目信息

给出一个区间的集合,请合并所有重叠的区间。

示例 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] 可被视为重叠区间。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/merge-intervals
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 先按照区间左端点,从小到大排序区间
  • 依次检查区间是否有重叠,有重叠取两个区间的较大的右端点
  • 不重叠,以下一个区间开始重复上面过程

2.1 报错的答案

在这里插入图片描述
以下代码,通过了168个测试,最后一个报错,Line 923: Char 34: runtime error: reference binding to null pointer of type 'value_type' (stl_vector.h),哪位大佬看到了,帮忙看看什么原因,还没解决。

  • 解决上面最后一个例子卡住:
  • comp比较函数里面写为return a[0] < b[0];,没有等于号
bool comp(vector<int> &a, vector<int> &b)
{return a[0] <= b[0];
}
class Solution {
public:vector<vector<int>> merge(vector<vector<int>>& intervals) {if(intervals.empty())return {};sort(intervals.begin(), intervals.end(), comp);vector<vector<int>> ans;int left = intervals[0][0], right = intervals[0][1];for(int i=1; i<intervals.size(); ++i){if(intervals[i][0] <= right)right = max(right, intervals[i][1]);else{ans.push_back({left,right});left = intervals[i][0];right = intervals[i][1];}}ans.push_back({left,right});return ans;}
};

2.2 优先队列解题

在这里插入图片描述

class Solution {
public:vector<vector<int>> merge(vector<vector<int>>& intervals) {if(intervals.empty())return {};priority_queue<vector<int>,vector<vector<int> >, cmp> q;for(auto it = intervals.begin(); it != intervals.end(); ++it){q.push(*it);}vector<vector<int>> ans;int left = q.top()[0], right = q.top()[1];q.pop();while(!q.empty()){if(q.top()[0] <= right)right = max(right, q.top()[1]);else{ans.push_back({left,right});left = q.top()[0];right = q.top()[1];}q.pop();}ans.push_back({left,right});return ans;}struct cmp{bool operator()(vector<int> &a, vector<int> &b){return a[0] > b[0];//小顶堆}};
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | 基于复杂查询图编码的知识库问答

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为知识库问答。来源&#xff1a;EMNLP 2018链接&#xff1a;https://www.aclweb.org/anthology/D18-1242文章表示&#xff0c;复杂问答所面对的问题往往包含多种实体和关系&#xff08;来自知识库…

阿里Java架构师精通资料:性能优化+亿级并发架构汇总+架构选型

分布式并发架构 微服务、Docker容器的基本原理、架构设计&#xff0c;以及应用场景。 缓存&#xff1a;Redis、Memcached、CDN、本地缓存 搜索引擎的选型&#xff1a;Lucene、Solr等选型与比较 应用服务器雪崩&#xff1a;长事务、SQL超时、同步接口引起的雪崩场景&#xff…

Google Cloud TPUs支持Pytorch框架啦!

文 | Sherry在2019年PyTorch开发者大会上&#xff0c;Facebook&#xff0c;Google和Salesforce Research联合宣布启动PyTorch-TPU项目。项目的目标是在保持PyTorch的灵活性的同时让社区尽可能容易地利用云TPU提供的高性能计算。团队创建了PyTorch/XLA这个repo&#xff0c;它可以…

LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)

文章目录1. 题目信息2. 解题拓展&#xff1a;求一个数n的2进制有多少个1&#xff1f;LeetCode 3381. 题目信息 给定一个整数&#xff0c;编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1 输出: true 解释: 20 1 示例 2:输入: 16 输出: true 解释: 24 16 示例 3:输…

最全阿里架构师P系列解读:P5-P8的技能要求和薪资结构

2018年持续一整年的架构设计分享&#xff0c;2019年我希望持续分享的同时&#xff0c;能真正意义上帮助到部分读者成为一名架构师。 学习的同时请千万别&#xff1a;只见树木&#xff0c;不见森林。 所以我会让大家先俯瞰完整的森林&#xff0c;我们再从树木开始&#xff0c;…

NeurIPS’20 | 长尾问题太严重?半监督和自监督就可以有效缓解!

文 | Yuzhe Yang源 | 知乎来给大家介绍一下我们的最新工作&#xff0c;目前已被NeurIPS 2020接收&#xff1a;Rethinking the Value of Labels for Improving Class-Imbalanced Learning。这项工作主要研究一个经典而又非常实际且常见的问题&#xff1a;数据类别不平衡&#xf…

论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

论文笔记整理&#xff1a;张良&#xff0c;东南大学博士生&#xff0c;研究方向为知识图谱&#xff0c;自然语言处理。链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber8450054本文主要关注KG上的 Link prediction 问题&#xff0c;以往的方法在…

阿里P8架构师谈:架构设计经验汇总

架构设计更多的是实践经验总结&#xff0c;以下架构设计经验&#xff0c;我会陆续补充完整。 一&#xff1a;数据库拆分原则 阿里P8架构师谈&#xff1a;架构设计之数据库拆分六大原则 二&#xff1a;缓存选择原则 阿里P8架构师谈&#xff1a;分布式缓存的应用场景、选型比较…

陈丹琦“简单到令人沮丧”的屠榜之作:关系抽取新SOTA!

文 | JayLou娄杰大家好&#xff0c;我是卖萌屋的JayJay&#xff0c;好久不见啦&#xff5e;最近在「夕小瑶知识图谱与信息抽取」群里和群友交流时&#xff0c;JayJay发现了来自陈丹琦大佬&#xff08;女神&#xff09;的一篇最新的关系抽取SOTA《A Frustratingly Easy Approach…

肖仰华 | 知识图谱落地的基本原则与最佳实践

本文转载在公众号&#xff1a;知识工场。肖仰华博士&#xff0c;复旦大学计算机科学与技术学院教授&#xff0c;博士生导师&#xff0c;知识工场实验室负责人。此文内容取自肖仰华教授在华为、CCF等场合所做报告&#xff0c;完整内容见书籍《知识图谱&#xff1a;概念与技术》的…

预训练模型应用工具 PaddleHub情感分析、对话情绪识别文本相似度

文章目录1. 预训练模型的应用背景1.1 多任务学习与迁移学习1.2 自监督学习2. 快速使用PaddleHub2.1 通过Python代码调用方式 使用PaddleHub2.1.1 CV任务原图展示人像扣图人体部位分割人脸检测关键点检测2.1.2 NLP 任务2.2 通过命令行调用方式 使用PaddleHub3. PaddleHub提供的预…

NIPS’20 Spotlight | 精准建模用户兴趣,广告CTR预估准确率大幅提升!

源 | 京东零售技术在以人工智能技术为支持的推荐、搜索、广告等业务中&#xff0c;点击率预估&#xff08;CTR&#xff09;一直是技术攻坚的核心&#xff0c;同时也是人工智能技术在业务落地中最难实现的技术方向之一。第一期介绍了视觉信息使用帮助提高点击率预估的准确度&…

史上最强大型分布式架构详解:高并发+数据库+缓存+分布式+微服务+秒杀

分布式架构设计是成长为架构师的必备技能&#xff0c;涵盖的内容很广&#xff0c;今天一次打包分享&#xff0c;文末有&#xff1a;最全分布式架构设计资料获取方式~ 负载均衡 负载均衡的原理和分类 负载均衡架构和应用场景 分布式缓存 常见分布式缓存比较&#xff1a;memcac…

论文浅尝 | 面向多语言语义解析的神经网络框架

论文笔记整理&#xff1a;杜昕昱&#xff0c;东南大学本科生。来源&#xff1a;ACL2017链接&#xff1a;https://aclweb.org/anthology/P17-2007论文训练了一个多语言模型&#xff0c;将现有的Seq2Tree模型扩展到一个多任务学习框架&#xff0c;该框架共享用于生成语义表示的解…

LeetCode 46. 全排列(回溯)

文章目录1. 题目信息2. 解题2.1 利用hash map解决2.2 改用bool数组判断是否出现过1. 题目信息 给定一个没有重复数字的序列&#xff0c;返回其所有可能的全排列。 示例:输入: [1,2,3] 输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]来源&#xff1a;力扣&#xf…

谷歌师兄的刷题笔记分享!

高畅现在是谷歌无人车部门&#xff08;Waymo&#xff09;的工程师&#xff0c;从事计算机视觉和机器学习方向。他在美国卡内基梅隆大学攻读硕士学位时&#xff0c;为了准备实习秋招&#xff0c;他从夏天开始整理某 code 上的题目&#xff0c;几个月的时间&#xff0c;刷了几百道…

【深度揭秘】百度、阿里、腾讯内部岗位级别和薪资结构,附带求职建议!

“ 最近很忙&#xff0c;文章没有及时更新。。 最近被问得最多就是想进入BAT等一线互联网公司&#xff0c;应该怎么办&#xff1f; 我先从BAT等这样的公司看看他们的招聘需求谈起&#xff0c;再结合这样的公司需要对技术的要求是什么&#xff0c;最后结合我的建议&#xff0…

LeetCode 47. 全排列 II(回溯+搜索剪枝)

文章目录1. 题目信息2. 解题1. 题目信息 给定一个可包含重复数字的序列&#xff0c;返回所有不重复的全排列。 示例:输入: [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1] ]来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode-cn.com/problem…

会议 | 2019 全国知识图谱与语义大会 (CCKS 2019)

会议注册:http://www.ccks2019.cn/?page_id53会议地址与住宿&#xff1a;http://www.ccks2019.cn/?page_id366OpenKG开放知识图谱&#xff08;简称 OpenKG&#xff09;旨在促进中文知识图谱数据的开放与互联&#xff0c;促进知识图谱和语义技术的普及和广泛应用。点击阅读原文…

jieba分词太慢,怎么办?找jieba_fast

原文链接&#xff1a;https://www.rtnzero.com/archives/272.html 有时候感觉处理一个几十M的文本&#xff0c;要一分钟才能好&#xff0c;然后调试时各种心焦&#xff01; 下面举个例子&#xff1a; 归零有一个11.9M的文本文件&#xff0c;是一些抓取到的Python长尾关键词&am…