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

算法训练营Day36(贪心-重叠区间)

都算是 重叠区间 问题,大家可以好好感受一下。 都属于那种看起来好复杂,但一看贪心解法,惊呼:这么巧妙! 

还是属于那种,做过了也就会了,没做过就很难想出来。

不过大家把如下三题做了之后, 重叠区间 基本上差不多了

435. 无重叠区间 

435. 无重叠区间 - 力扣(LeetCode)

我这里先给一下为什么不取最大值的问题吧,我没看视频自己做的时候写的

如果用max的话,就是直接计算重复区间了,但是这道题还要删去,所以直接取右边界的最小值

答案:

这是我写的,和卡哥的也不一样,很简单

class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals, (a,b)-> {return Integer.compare(a[0],b[0]);});int count = 0;for(int i = 1;i<intervals.length;i++){if(intervals[i][0]<intervals[i-1][1]){count++;intervals[i][1] = Math.min(intervals[i-1][1],intervals[i][1]);}}return count;}
}

763.划分字母区间 

763. 划分字母区间 - 力扣(LeetCode)

题意难,听卡哥讲,easy很多。

class Solution {public List<Integer> partitionLabels(String s) {int [] hash = new int[27];//记录每个字母的最远位置for(int i = 0;i<s.length();i++){hash[s.charAt(i)-'a'] = i; }List<Integer> res = new ArrayList<>();//找left和rightint left= 0,right=0;for(int i = 0;i<s.length();i++){right = Math.max(right,hash[s.charAt(i)-'a']);if(i == right){res.add(right-left+1);//更新边界left = i+1;}}return res;}
}

56. 合并区间 

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

这个很easy

class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0])); List<int[]> res = new ArrayList<>();int start = intervals[0][0];int end = intervals[0][1];for(int i =1;i< intervals.length;i++){if(intervals[i][0]<=end){//更新右边界end = Math.max(end,intervals[i][1]);}else{//收集结果int [] subRes = new int[]{start,end};res.add(subRes);//更新 新的begin 和endstart = intervals[i][0];end = intervals[i][1];}}res.add(new int[]{start,end});return res.toArray(new int[res.size()][]);}
}

http://www.lryc.cn/news/275492.html

相关文章:

  • 如何利用Oracle官方网站不登录账号下载和安装非最新版本的JDK(版本自由选择)
  • 税法相关的基础知识
  • ListNode 2487. 从链表中移除节点,单调栈的应用
  • vue3中pdf打印问题处理
  • 如何向嵌入式设备中添加tcpdump工具
  • 伦茨科技Apple Find My认证芯片-ST17H6x芯片
  • uni-app 前后端调用实例 基于Springboot 数据列表显示实现
  • python渗透工具编写学习笔记:10、网络爬虫基础/多功能编写
  • Python武器库开发-武器库篇之子域名扫描器开发(四十一)
  • 通俗易懂的15个Java Lambda表达式案例
  • 十七:爬虫-JS逆向(上)
  • How to implement anti-crawler strategies to protect site data
  • 王国维的人生三境界,这一生至少当一次傻瓜
  • Jmeter二次开发实操问题汇总(JDK问题,jar包问题)
  • 网络安全B模块(笔记详解)- 数字取证
  • 阿里云服务器8080端口安全组开通图文教程
  • vmlinux, vmlinux.bin, bzImage; cmake的find_package(Clang)新增了哪些变量( 比较两次记录的所有变量差异)
  • webpack配置入门
  • Elasticsearch 8.X进阶搜索之“图搜图”实战
  • LLM之RAG实战(十三)| 利用MongoDB矢量搜索实现RAG高级检索
  • UI动效设计师通往高薪之路,AE设计从基础到进阶教学
  • APK多渠道加固打包笔记之360加固宝
  • 编程天赋和努力哪个更重要?
  • SpringCloud Alibaba之Nacos配置中心配置详解
  • 个人实际开发心得感悟及学习方法
  • 光速爱购--靠谱的SpringBoot项目
  • P1019 [NOIP2000 提高组] 单词接龙
  • 图解设计模式-中介者模式(Mediator)
  • 小程序面试问答(解决方案)
  • qt第三天快速回顾