尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

代码随想录Day30_贪心4

代码随想录Day30_贪心4
📅 发布时间:2026/6/19 8:49:08
代码随想录Day30_贪心4

用最少数量的箭引爆气球

思路

如果当前数组的左区间没有覆盖前一个数组的右区间,就需要新的箭来击穿。不然就更新新的右区间。

class Solution {static bool cmd(const vector<int>&a,vector<int>&b){if(a[0]==b[0]){ return a[1]<b[1];}return a[0]<b[0];}
public:int findMinArrowShots(vector<vector<int>>& points) {if(points.size()<=1){return points.size();}sort(points.begin(),points.end(),cmd);int result=1;for(int i =1;i<points.size();i++){if(points[i][0]>points[i-1][1]){result++;}else points[i][1]=min(points[i][1],points[i-1][1]);}return result;}
};

不重叠区间

给出一个集合序列,移除某些序列,使得剩余区间不重叠。
一开始,思路是如果后一个序列的左边界小于前一个序列的右边界,那么就计数,然后删除该序列。
产生的问题是我在遍历的过程中删除元素,会导致数组越界。
题解的思路是记录不重叠的元素序列,重叠的是总数减去不重叠,这样做的好处是避免了在遍历过程中改变数组的大小。具体思路是:如果当前数组的左边界大于前一个数组(即尾数组)的右边界,就进行计数,并且更新尾数组。

划分字母区间

记录第一个下标的字母,找到重复的作为一个节点,如果下一个和前面的不同,说明找到了第一个分割点。

题解

class Solution {
public:vector<int> partitionLabels(string s) {int hash[27]={0};for(int i=0;i<s.size();i++){hash[s[i]-'a'] =i;}int left=0;int right=0;vector<int> result;for(int i=0;i<s.size();i++){right=max(right,hash[s[i]-'a']);if(i==right){result.push_back(right-left+1);left=i+1;}}return result;}
};

哈希表里面存放的是什么:


哈希表存放字母出现的最大下标
hash[0] 存放字母a出现的最大下标;

相关新闻

  • 一种 DAG 上可达性判定问题的解决方案
  • 网络空间威慑:通过“曝光”手段反制国家级网络间谍活动
  • Gemini 2.5原生音频技术与多模态能力解析

最新新闻

  • 2026银川2026正规漏水检测维修公司精选口碑榜TOP5权威推荐-精准定位检测漏水点-专业防水补漏堵漏维修、卫生间/厨房/屋顶/天沟/地下室/阳台防水漏水检测维修 - 安佳防水
  • 字节跳动拟购5万颗AI芯片,国产GPU竞争聚焦生态、成本与产能
  • 基于深度学习的糖尿病视网膜病变自动检测系统构建实战
  • Obsidian MCL布局:模块化CSS让你的笔记排版焕然一新
  • 逆向工程实战:从加密音乐文件到通用音频格式的转换原理
  • NGA论坛优化摸鱼体验:免费开源脚本让你的论坛浏览效率提升300%

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号