
力扣算法题
文章平均质量分 96
lapiii358
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划【代码随想录|Java|刷题记录】
有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x!= y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头最小的可能重量。如果没有石头剩下,就返回 0。输入:[2,7,4,1,8,1]输出:1思路与上一题类似,只不过最后返回的不一样sum += i;原创 2025-03-12 19:02:11 · 598 阅读 · 0 评论 -
贪心问题【java|代码随想录|刷题自存】
例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。少于两个元素的序列也是摆动序列。给定一个整数序列,返回作为摆动序列的最长子序列的长度。给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。你的目标是使用最少的跳跃次数到达数组的最后一个位置。原创 2025-03-02 14:33:15 · 321 阅读 · 0 评论 -
组合排列问题【JAVA 代码随想录刷题记录】
为什么 used[i - 1] == false 就是同一树层呢,因为同一树层,used[i - 1] == false 才能表示,当前取的 candidates[i] 是从 candidates[i - 1] 回溯而来的。示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]示例 2: 输入: k = 3, n = 9 输出: [[1,2,6], [1,3,5], [2,3,4]]n 中所有可能的 k 个数的组合。原创 2025-02-27 21:47:37 · 584 阅读 · 0 评论 -
单调栈【JAVA刷题 自存】
更直白来说,就是用一个栈来记录我们遍历过的元素,因为我们遍历数组的时候,我们不知道之前都遍历了哪些元素,以至于遍历一个元素找不到是不是之前遍历过一个更小的,所以我们需要用一个容器(这里用单调栈)来记录我们遍历过的元素。这里我们要使用递增循序(再强调一下是指从栈头到栈底的顺序),因为只有递增的时候,栈里要加入一个元素i的时候,才知道栈顶元素在数组中右面第一个比栈顶元素大的元素的下标是i。即:如果求一个元素右边第一个更大元素,单调栈就是递增的,如果求一个元素右边第一个更小元素,单调栈就是递减的。原创 2024-11-26 20:25:54 · 561 阅读 · 0 评论 -
图论-代码随想录刷题记录[JAVA]
新手小白记录第一次刷代码随想录1.自用 抽取精简的解题思路 方便复盘2.代码尽量多加注释3.记录踩坑4.边刷边记录,更有成就感!5.解题思路绝大部分来自代码随想录。原创 2024-11-14 11:26:32 · 1021 阅读 · 0 评论