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

合并区间 - MKT

image

 塞入map后,【1,4】被合并了,只剩下一个了。导致后续跳过了

image

 

 

class Solution {
public:
// 失败 1 思路错 不应该和上一个比较 而是和上一次合并的结果比较vector<vector<int>> merge1(vector<vector<int>>& intervals) {// 1 排序map<int,vector<int>> map_list;vector<vector<int>> result;if (intervals.empty()) {return result;}if(intervals.size()==1){return intervals;}for(int i=0;i<intervals.size();i++){map_list[intervals[i][0]]=intervals[i]; }for (auto it = map_list.begin(); it != map_list.end(); ++it) {int last_begin=it->second[0];int last_end=it->second[it->second.size()-1];auto next_it = std::next(it);if(next_it==map_list.end()){result.push_back(it->second);  break;}int current_begin=next_it->second[0];int current_end=next_it->second[next_it->second.size()-1];//    cout<<" last_end "<< last_end//    <<" current_begin "<< current_begin//    <<endl;if(last_end>=current_begin){vector<int> temp_;temp_.push_back(last_begin);temp_.push_back(max(last_end,current_end));result.push_back(temp_);it=std::next(it);}else{result.push_back(it->second);}}return result;}
// 自己成功1 14% 用时  8.9 内存 map 耗费时间和空间vector<vector<int>> merge_map(vector<vector<int>>& intervals) {// 1 排序map<int,vector<int>> map_list;vector<vector<int>> result;for(int i=0;i<intervals.size();i++){if(map_list.contains(intervals[i][0])){int old_max = map_list[intervals[i][0]][1];int now_max = intervals[i][1];map_list[intervals[i][0]]={intervals[i][0],max(old_max,now_max)}; }else{map_list[intervals[i][0]]=intervals[i]; }}result.push_back(map_list.begin()->second);for (auto it = std::next(map_list.begin()); it != map_list.end(); ++it) {vector<int> last_v=result.back();int last_begin=last_v[0];int last_end=last_v[1];int current_begin=it->second[0];int current_end=it->second[1];//    cout//    << " last_begin "<< last_begin//    << " |last_end " <<  last_end//    << " |current_begin "<<current_begin //    << " |current_end " <<  current_end//    <<endl;if(last_end>=current_begin){result.pop_back(); last_v={last_begin,max(last_end,current_end)};result.push_back(last_v);}else{result.push_back(it->second);last_v=it->second;}}return result;}vector<vector<int>> merge(vector<vector<int>>& intervals) {// 1 排序map<int,vector<int>> map_list;vector<vector<int>> result;for(int i=0;i<intervals.size();i++){if(map_list.contains(intervals[i][0])){int old_max = map_list[intervals[i][0]][1];int now_max = intervals[i][1];map_list[intervals[i][0]]={intervals[i][0],max(old_max,now_max)}; }else{map_list[intervals[i][0]]=intervals[i]; }}result.push_back(map_list.begin()->second);for (auto it = std::next(map_list.begin()); it != map_list.end(); ++it) {vector<int> last_v=result.back();int last_begin=last_v[0];int last_end=last_v[1];int current_begin=it->second[0];int current_end=it->second[1];//    cout//    << " last_begin "<< last_begin//    << " |last_end " <<  last_end//    << " |current_begin "<<current_begin //    << " |current_end " <<  current_end//    <<endl;if(last_end>=current_begin){result.pop_back(); last_v={last_begin,max(last_end,current_end)};result.push_back(last_v);}else{result.push_back(it->second);last_v=it->second;}}return result;}
};

  

 

http://www.hskmm.com/?act=detail&tid=29396

相关文章:

  • 如何防止员工向第三方 AI 泄露数据?滤海 AI DLP 全方位技术防护方案解析
  • 20232322 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 实验1 现代c++编程初体验
  • 冬天快乐
  • P2441M 见过的 tricks
  • 企业大数据战略定位
  • OpenAI加码个性化消费AI技术布局
  • 线性回归 C++ 实现
  • 内存分区
  • Spring Data JPA学习笔记
  • P1112 波浪数 题解
  • 20232411 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 使用 Pascal 实现英文数字验证码识别系统
  • PWN手的成长之路-15-jarvisoj_level2_x64
  • 2025.10.12——1绿
  • 价值博弈场的工程实现:构建数字文明的价值免疫系统——声明Ai生成
  • 基于 Rust 的英文数字验证码识别系统设计与实现
  • 2025年两联供室内机厂家最新权威推荐榜:技术实力与市场口碑
  • 2025武汉商铺装修防水厂家最新权威推荐榜:专业施工与品质保
  • 2025铝合金微弧氧化厂家权威推荐榜:表面处理技术实力深度解
  • 2025杉木木方厂家最新权威推荐榜:优质木材与稳定供应口碑之
  • 2025年厂房保养厂家最新权威推荐榜:专业维护与成本控制优选
  • 使用C语言实现重写stm32的启动文件
  • 2025中医师承权威推荐榜:名师带徒与临床实践深度解析
  • 让我们开始 CSS 的学习之旅
  • 2025液压无损扒胎机厂家权威推荐榜:高效无损与耐用性能深度
  • Linux环境下的UDEV机制及其与守护进程的关联
  • 在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
  • [转] 基于ubuntu-base进行根文件系统的修改与打包
  • jquery 字符串转数字