首页 > 其他分享 >代码随想录 day36 无重叠区间 划分字母区间 合并区间

代码随想录 day36 无重叠区间 划分字母区间 合并区间

时间:2024-01-31 15:48:39浏览次数:25  
标签:重叠 day36 字母 随想录 更新 区间 边界

无重叠区间
image
这里的思路是找到有几个非重叠区间 然后总数减去非重叠区间就是剩下的重叠区间数
首先排好序 按左或者右都可以
这里按左排好 然后发现边界不重叠就++
边界重叠 那么由于左边界优先对齐了 所以右边界更新 作为一个新的整体区间和下一个区间比较

划分字母区间
image
统计所有字母最后出现的位置
遍历数组利用right维护这个最后出现的位置
如果这个位置与当前下标重合就压入结果集合
更新left 要利用left和right计算这个区间长度

image

合并区间
image
依然是按序排好
然后判断相邻区间 不重叠就直接压入 然后更新左边界和右边界
如果重叠 右边界要更新为较大值 这样保证和下个区间的比较是正确利用了外边界

image

标签:重叠,day36,字母,随想录,更新,区间,边界
From: https://www.cnblogs.com/mingtiao/p/17999372

相关文章

  • 代码随想录算法训练营第三天 |203.移除链表元素 , 707.设计链表,206.反转链表
    206.反转链表 已解答简单 相关标签相关企业 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[] 提示:链......
  • 代码随想录 day35 柠檬水找零 根据身高重建队列 用最少数量的箭引爆气球
    柠檬水找零就根据几种条件列出来找零情况就行生活经验可知找零当然先给大面额的利于后面的找零根据身高重建队列这题感觉就是先做过队列给糖也难以有思路这里是先按身高先排好队一样身高就k小的排在前面然后再按他前面有几个人直接就给他插到第几个位置就行用最少......
  • 代码随想录算法训练营第七天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四
    454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i,j,k,l) 能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0题目链接:454.四数相加II-力扣(LeetCode)思路:当遇到需要确认元素是......
  • 代码随想录算法训练营第六天 |242. 有效的字母异位词 349. 两个数组的交集 202. 快乐
    1.两数之和 已解答简单 相关标签相关企业 提示 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同......
  • day27 代码随想录算法训练营 39. 组合总和
    题目:39.组合总和我的感悟:还是没太理解这个index和i的区别感觉要继续听继续做剪枝要进行排序,这题,我先理解到不剪枝的版本就行 代码示例:classSolution:defcombinationSum(self,candidates:List[int],target:int)->List[List[int]]:res=[]......
  • 动态区间特殊值——线段树的简单应用
    目录问题引入简单介绍功能详情碎碎念问题引入很多地方写的是区间最值问题,感觉区间特殊值更好一些,区间gcd、前缀和都可以,问题描述大致就是给出一个数组,要求给出询问区间的特殊值,当然求和之类的可以用树状数组解决,但是最大、最小等等特殊值是不能转化为前缀和用树状数组解决的,因此......
  • 代码随想录 day34 K 次取反后最大化的数组和 加油站 分发糖果
    K次取反后最大化的数组和按照元素的绝对值大小进行排序把绝对值大的且小于0的取反如果还能取反那么奇数次的话就把绝对值小的取反偶数次不用管加油站首先如果总油量小于总消耗是一定不能跑完的这里的思路是如果[0,i]区间不能油量小于消耗那么就尝试从下一个i+1......
  • 763. 划分字母区间
    开始做的时候,就是单个字符这样想,看这个字符是否在当前字符串中。如果在就加入,不在就新建一个字符串,但发现这个思路是错的。加入的字符改变的是当前字符串截至的位置,即使当前字符不在字符串中,但不意味着后面的字符就没有。因此本题的关键就是先要找到每个字符的结束位置和每个字......
  • 通达信分析持股区间主图指标公式源码副图
    出水牛股:=92212129;买线:=Ema(CLOSE,2);卖线:=EMA(SLOPE(CLOSE,21)*20+CLOSE,42);突破:=REF(EMA(CLOSE,9),1);A1X:=(EMA(CLOSE,9)-突破)/突破*100;多:=IF(A1X>=0AND买线>=卖线,REF(EMA(CLOSE,10),BArslAst(crOSS(A1X,0))+1),DRAWNULL);空:=IF(A1X<0AND买线<卖线,REF(EM......
  • day25 代码随想录算法训练营 17. 电话号码的字母组合
    题目:17.电话号码的字母组合我的感悟:一时间没理解没关系,只要不放弃,就会成长!!!理解难点:index是独立集合的起点,需要理解它。有些东西就是时间的积累代码难点:代码示例:classSolution:def__init__(self):self.letterMap=["",#0......