自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 代码随想录算法训练营第37天|第八章 贪心算法 part05| 435. 无重叠区间 ,763.划分字母区间 ,56. 合并区间 ,738.单调递增的数字

注意: 可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。说明: N 是在 [0, 10^9] 范围内的一个整数。给出一个区间的集合,请合并所有重叠的区间。738.单调递增的数。

2024-06-13 22:22:53 331

原创 代码随想录算法训练营第36天|第八章 贪心算法 part04|860.柠檬水找零 ,406.根据身高重建队列,452. 用最少数量的箭引爆气球

在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。给你一个数组 points ,其中 points [i] = [xstart,xend] ,返回引爆所有气球所必须射出的最小弓箭数。

2024-06-12 22:16:14 513

原创 代码随想录算法训练营第35天|第八章 贪心算法 part03|1005.K次取反后最大化的数组和 ,134. 加油站,135. 分发糖果

解释: 你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i 并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。

2024-06-12 21:49:05 349

原创 代码随想录算法训练营第32天|第八章 贪心算法 part02|122.买卖股票的最佳时机II ,55. 跳跃游戏 ,45.跳跃游戏II

你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。你的目标是使用最少的跳跃次数到达数组的最后一个位置。给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。说明: 假设你总是可以到达数组的最后一个位置。

2024-06-11 20:01:55 156

原创 代码随想录算法训练营第31天|第八章 贪心算法 part01|理论基础,455.分发饼干 ,376. 摆动序列,53. 最大子序和

对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

2024-06-07 19:49:40 191

原创 代码随想录算法训练营第29天|第七章 回溯算法part05|491.递增子序列,46.全排列,47.全排列 II

给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。给定一个 没有重复 数字的序列,返回其所有可能的全排列。

2024-06-05 19:07:52 188

原创 代码随想录算法训练营第28天|第七章 回溯算法|93.复原IP地址 ,78.子集 ,90.子集II

例如:"0.1.2.201" 和 "192.168.1.1" 是 有效的 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效的 IP 地址。示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。

2024-06-04 22:10:59 155

原创 代码随想录算法训练营第27天|第七章 回溯算法part03|39. 组合总和,40.组合总和II,131.分割回文串

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ]给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。candidates 中的每个数字在每个组合中只能使用一次。

2024-06-03 22:17:44 194

原创 代码随想录算法训练营第25天|第七章 回溯算法part02|216.组合总和III,17.电话号码的字母组合

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。示例 2: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]]说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。给出数字到字母的映射如下(与电话按键相同)。给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。17.电话号码的字母组合。

2024-06-01 20:26:20 159

原创 代码随想录算法训练营第24天|第七章 回溯算法part01| 77. 组合

示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。,这样就把这棵树全遍历完了,一般来说,搜索叶子节点就是找的其中一个结果了。递归就要有终止条件,所以必然是一棵高度有限的树(N叉树)。,是的,我指的是所有回溯法的问题都可以抽象为树形结构!因为回溯法解决的都是在集合中递归查找子集,

2024-05-31 19:50:16 170

原创 代码随想录算法训练营第13天|栈与队列part03|239. 滑动窗口最大值,347.前 K 个高频元素

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。给定一个非空的整数数组,返回其中出现频率前 k 高的元素。347.前 K 个高频元素。239. 滑动窗口最大值。返回滑动窗口中的最大值。

2024-05-20 23:46:10 119 1

原创 代码随想录算法训练营第11天|栈与队列part02|20. 有效的括号,1047. 删除字符串中的所有相邻重复项 ,150. 逆波兰表达式求值

给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。有效的运算符包括 + , - , * , /。每个运算对象可以是整数,也可以是另一个逆波兰表达式。给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在完成所有重复项删除操作后返回最终的字符串。在 S 上反复执行重复项删除操作,直到无法继续删除。根据 逆波兰表示法,求表达式的值。

2024-05-18 21:38:33 166

原创 代码随想录算法训练营第10天|栈与队列part01|232.用栈实现队列,225. 用队列实现栈

push(x) -- 将一个元素放入队列的尾部。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。225. 用队列实现栈。232.用栈实现队列。

2024-05-17 22:57:40 138 1

原创 代码随想录算法训练营第八天|字符串part01|344.反转字符串,541. 反转字符串II,卡码网:54.替换数字,151.翻转字符串里的单词,卡码网:55.右旋转字符串

151.翻转字符串里的单词。卡码网:55.右旋转字符串。541. 反转字符串II。卡码网:54.替换数字。

2024-05-15 21:57:10 92

原创 代码随想录算法训练营第七天|哈希表part02|454.四数相加II ,383. 赎金信 ,15. 三数之和,18. 四数之和

454.四数相加II。

2024-05-15 08:17:26 108

原创 代码随想录算法训练营第六天|哈希表part01|242.有效的字母异位词 ,349. 两个数组的交集,202. 快乐数 ,1. 两数之和

哈希函数,把学生的姓名直接映射为哈希表上的索引,然后就可以通过查询索引下标快速知道这位同学是否在这所学校里了。当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。242.有效的字母异位词。349. 两个数组的交集。

2024-05-13 22:56:58 198

原创 代码随想录算法训练营第二天|数组part02|977.有序数组的平方 , 209.长度最小的子数组,59.螺旋矩阵II

977.有序数组的平方。209.长度最小的子数组。

2024-05-10 08:15:28 115

原创 代码随想录算法训练营第一天|数组part01|704. 二分查找,27. 移除元素

【代码】代码随想录算法训练营第一天|数组part01|704. 二分查找,27. 移除元素。

2024-05-08 21:51:39 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除