- 博客(52)
- 收藏
- 关注
原创 [leetcode] 1049. Last Stone Weight II
因为把石头分成两堆近似重量的时候对撞可以保证最后剩余的重量最小。先找出所有石头重量的总和,之后需要找的。关键是递推方程 (01 背包问题)的时候最多能装多少重量的石头。就是最终剩余的最小的石头重量。遍历每个石头,再遍历容量。的背包装的最大重量(
2023-05-31 14:32:41 178
原创 [leetcode] 738. Monotone Increasing Digits
不能直接中断,因为需要遍历全部数组.遍历之后,将标记位之后的数字都记为。
2023-05-26 14:03:34 182
原创 [leetcode] 135. Candy
从左向右遍历:如果右边孩子比左边孩子。从右向左遍历:如果右边孩子比左边孩子。第,则 左边孩子糖果数。高,则 右孩子糖果数。
2023-05-24 14:39:33 178
原创 [leetcode] 376. Wiggle Subsequence
之前节点的 Difference。: 当前节点的 Difference。符号不一致,则说明存在。之后遍历找到全局最优解。
2023-05-20 15:42:24 137
原创 [leetcode] 332. Reconstruct Itinerary
都需要使用完,且只能使用一次。的时候,说明找到了,此时返回。注意回溯的函数签名,返回值为。因为根据题目要求,所有。
2023-05-18 14:47:03 55
原创 [leetcode] 46. Permutations
开始,因为要遍历全部数组,所以要从。也正是因为需要遍历全部数组,的,这样可以记录是否遍历过。
2023-05-18 14:00:18 139
原创 [leetcode] 491. Non-decreasing Subsequences
数组是因为如果数字相等的话,也应该是 valid 的答案。此时也应该是可以选择的. 如果选择了。是合理的路径,添加到。每次递归都需要使用新的。
2023-05-18 13:46:55 95
原创 [leetcode] 78. Subsets
关键在于 每次递归函数 被 call 时,即可加入当前的 path,因为每一条路径都是可行的(包含了树根到叶子,以及子节点到叶子)题目要求:给定一个数组,找到所有可能的子集。
2023-05-16 12:31:12 49
原创 [leetcode] 216. Combination Sum III
如果 当前路径和 > 目标路径和,可以终止递归(: 值会变,定义不变(开始下标)。: 值会变,定义不变(到当前节点的路径和)说明找到一条路径,把。
2023-05-13 00:55:13 48
原创 [leetcode] 637. Average of Levels in Binary Tree
【代码】[leetcode] 637. Average of Levels in Binary Tree。
2023-05-05 15:51:02 56
原创 [leetcode] 222. Count Complete Tree Nodes
二叉树 递归思路:直接计算左节点数量、右节点数量 再 +1 (当前节点)关于这种递归,可以假设这个函数可以完成相关的定义,比如本题中 countNodes 的定义是 “能返回当前节点的数量(包含当前节点)"/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {
2023-05-05 15:30:26 57
原创 [leetcode] 111. Minimum Depth of Binary Tree
找最小深度,要求叶子节点(即没有左右子节点的节点)到根节点的距离最短。递归遍历左右子树的最短长度,如果左子树为空了,就返回右子树的长度。
2023-05-05 15:23:35 77
原创 [leetcode] 104. Maximum Depth of Binary Tree
函数返回当前的最大深度,当此节点为空时,返回。递归返回左右子树最大深度。深度:根节点到当前节点。高度:当前节点到叶子节。
2023-05-05 13:29:57 54
原创 [leetcode] 107. Binary Tree Level Order Traversal II
【代码】[leetcode] 107. Binary Tree Level Order Traversal II。
2023-05-04 13:41:48 49
原创 [leetcode] 102. Binary Tree Level Order Traversal
循环本层队列元素,添加到队尾,直到队空(二叉树遍历完)使用队列,记录每层队列的。
2023-05-04 13:36:02 51
原创 [leetcode] 145. Binary Tree Postorder Traversal
【代码】[leetcode] 145. Binary Tree Postorder Traversal。
2023-05-03 11:58:15 61
原创 [leetcode] 94. Binary Tree Inorder Traversal
采取指针的形式,先把指针移到左下节点,,并把指针移到有节点。此时的结果即中序遍历。
2023-05-03 11:35:09 61
原创 [leetcode] 150. Evaluate Reverse Polish Notation
每当遇到运算符,则抛出两个栈顶元素。最终栈中仅有一个元素,即为结果。, 第二个栈顶元素减去。
2023-04-29 11:52:38 70
原创 [leetcode] 1047. Remove All Adjacent Duplicates In String
如果栈为空,或者栈顶元素与当前字符不相等,则入栈。用 ArrayDeque 是因为删除元素更快一点。遍历所有字符,如果栈顶元素跟当前字符相等,则。
2023-04-29 11:41:13 64
原创 [leetcode] 20. Valid Parentheses
此时栈若为空,或者栈顶不为对应的元素,返回。遍历字符串中的每个字符,如果是。如果不是则意味着此时的字符为。
2023-04-29 11:25:35 51
原创 [leetcode] 225. Implement Stack Using Queues
就把队头的元素全部放在队尾,留最后一个元素再。是队尾的元素(最后入队)的元素永远跟 我们的。的时候 使用辅助队列。
2023-04-28 13:08:35 98
原创 [leetcode] 151. Reverse Words in a String
先删除冗余的空格 (快慢指针), in-place 替换,思路很简单,实现的时候有很多细节容易出错,还是要注意。再翻转每个单词 (快慢指针),并返回 String.
2023-04-26 15:20:24 42
原创 [leetcode] 383. Ransom Note
的字符,并把出现的次数统计下来,即哈希表的。最后判断长度为 26 的数组中是否有 值。的字符,将出现的字符在哈希表中的次数。思路是构建长度为 26 的数组,遍历。的元素,如果有则说明无法构建,返回。
2023-04-25 14:16:18 67
原创 [leetcode] 202. Happy Number
则通过该题的计算一定能出现循环(即出现相同的数字),这也是解决本题的关键。则说明该数 为 Happy Number 反之 则不是,中包含曾经的元素,则判断此时的。
2023-04-24 12:03:22 116
原创 [leetcode] 142. Linked List Cycle II
遍历两遍链表,之后如果有环,则引入新的头指针指向链表头,新的头指针和。指针同时向前走,相遇的地方既是环的入口。注意判断条件应该包含。
2023-04-23 15:22:46 85
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人