- 博客(6)
- 收藏
- 关注
原创 贪心算法系列之重叠区间
3.先把前一个区间放进结果集,再进行判断,这样就这以实现逐一话,只需要比较当前i与result.back,即比较目前结果集中最后一个区间与当前区间边界。4.没有重叠,直接放入结果集;有重叠,直接在result上进行合并,更新result结果集中最后一个区间的右边界。因为要找到需要移除区间的最小数量,所以选择删除右区间更大的,使得和下一个重叠的可能性减小。,让所有的相邻区间尽可能的重叠在一起,按左边界,或者右边界排序都可以,处理逻辑稍有不同。记录这些区间,就相当于是区间输入了,一旦区间不重叠了,就进行分割。
2025-08-02 19:31:17
837
原创 warning: missing OAuth configuration for gitcode.net 问题解决
前情提要:在从gitcode上面使用https方式 clone代码到本地,弹窗(gitlab)要求验证,但我是用csdn一键登录gitcode的,一时间不知道用户名和token/密码是什么。就是gitcode里的!邮箱也是在设置的用户资料中!不是gitlab单独账号的那一套!至于令牌:也是在设置中创建。
2025-07-03 20:47:36
427
原创 代码随想录Day10|栈与队列(与堆)
窗口向右移,左边是front,进数值的右边是back端),与优先级队列不一样的是,我们不是改变了序列顺序,是pop剔除了不符合单调递减规定的值,比如 1 3 -1,大顶堆的做法直接3 1 -1,向右移时,我们想要1去掉,结果把3去掉不可行;即:并没有把滑动窗口的k个值都加入进去,在往里放元素的时候,是对比后先弹出元素再放,先弹出这个时候元素还是相对是位于back尾端的(比较的是que.back,上一次刚放入的,所以是pop_back弹出尾端,从小的数值往外弹, 4 3 要放入5,先弹3.再弹4。
2025-04-22 17:43:37
574
原创 代码随想录Day1|数组01
如果是vector<int> nums1,无法用索引访问来储存结果,比如nums[i]1.数组中元素是连续的 相同类型的 2.要删除或添加元素,会需要挪动其他元素,也就是说元素只能以覆盖的形式来删除。注意最后在返回的时候是slow,不是slow+1,因为在函数里面已经是slow++状态了。while(i>=0) i-- 这种写法,如果 i。2.本来写的是while(i--),如果 i。使用的是闭区间的形式,好记忆。,循环会执行三次,分别是。,循环会执行四次,分别是。返回的是剩下元素的数量。
2025-02-20 21:51:21
352
原创 代码随想录Day7|哈希表02
思路:和三数之和思路是一样的,只不过有三次去重,a一次,a和b整体一次,双指针c和d一次。另外,target可能是负数,所以不能简单判断a>targe就剪枝了,还要确保a>0,举个例子,target=-4,a=-2,b=-1,c=-1,d=0。题干信息::一个数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?题干信息:要去重,有负数,在一个数组找出三数,使其和为0,所有可能都列出来,不能重复。
2025-02-20 21:39:04
250
原创 代码随想录Day6|哈希表part01
哈希表是根据关键码而直接进行访问的数据结构”。---数组可以看作是哈希表,其中索引下标就是关键码,通过下标可以直接访问数组里的元素。哈希碰撞---- 拉链法(在冲突的地方引出链表)、 线性探测法(将冲突的元素放在哈希表的其他空位上)三种哈希结构:数组、集合、映射虽然std::set和std::multiset 的底层实现基于红黑树而非哈希表,它们通过红黑树来索引和存储数据。不过给我们的使用方式,还是哈希法的使用方式,即依靠键(key)来访问值(value)。
2025-02-17 20:43:59
767
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人