Algorithm
c2sd3n
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[leetcode] 1049. Last Stone Weight II
因为把石头分成两堆近似重量的时候对撞可以保证最后剩余的重量最小。先找出所有石头重量的总和,之后需要找的。关键是递推方程 (01 背包问题)的时候最多能装多少重量的石头。就是最终剩余的最小的石头重量。遍历每个石头,再遍历容量。的背包装的最大重量(原创 2023-05-31 14:32:41 · 246 阅读 · 0 评论 -
[leetcode] 738. Monotone Increasing Digits
不能直接中断,因为需要遍历全部数组.遍历之后,将标记位之后的数字都记为。原创 2023-05-26 14:03:34 · 239 阅读 · 0 评论 -
[leetcode] 135. Candy
从左向右遍历:如果右边孩子比左边孩子。从右向左遍历:如果右边孩子比左边孩子。第,则 左边孩子糖果数。高,则 右孩子糖果数。原创 2023-05-24 14:39:33 · 256 阅读 · 0 评论 -
[leetcode] 376. Wiggle Subsequence
之前节点的 Difference。: 当前节点的 Difference。符号不一致,则说明存在。之后遍历找到全局最优解。原创 2023-05-20 15:42:24 · 191 阅读 · 0 评论 -
[leetcode] 332. Reconstruct Itinerary
都需要使用完,且只能使用一次。的时候,说明找到了,此时返回。注意回溯的函数签名,返回值为。因为根据题目要求,所有。原创 2023-05-18 14:47:03 · 92 阅读 · 0 评论 -
[leetcode] 46. Permutations
开始,因为要遍历全部数组,所以要从。也正是因为需要遍历全部数组,的,这样可以记录是否遍历过。原创 2023-05-18 14:00:18 · 178 阅读 · 0 评论 -
[leetcode] 491. Non-decreasing Subsequences
数组是因为如果数字相等的话,也应该是 valid 的答案。此时也应该是可以选择的. 如果选择了。是合理的路径,添加到。每次递归都需要使用新的。原创 2023-05-18 13:46:55 · 152 阅读 · 0 评论 -
[leetcode] 78. Subsets
关键在于 每次递归函数 被 call 时,即可加入当前的 path,因为每一条路径都是可行的(包含了树根到叶子,以及子节点到叶子)题目要求:给定一个数组,找到所有可能的子集。原创 2023-05-16 12:31:12 · 83 阅读 · 0 评论 -
[leetcode] 216. Combination Sum III
如果 当前路径和 > 目标路径和,可以终止递归(: 值会变,定义不变(开始下标)。: 值会变,定义不变(到当前节点的路径和)说明找到一条路径,把。原创 2023-05-13 00:55:13 · 81 阅读 · 0 评论 -
[leetcode] 77. Combinations
反之说明路径还没有找完,可以遍历当前路径后面可能的选项。说明已经找到一条路径,需要加入到。原创 2023-05-12 16:03:44 · 94 阅读 · 0 评论 -
[leetcode] 110. Balanced Binary Tree
定义是返回当前节点的高度,如果不平衡,则返回。原创 2023-05-08 05:39:53 · 93 阅读 · 0 评论 -
[leetcode] 637. Average of Levels in Binary Tree
【代码】[leetcode] 637. Average of Levels in Binary Tree。原创 2023-05-05 15:51:02 · 91 阅读 · 0 评论 -
[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 · 95 阅读 · 0 评论 -
[leetcode] 111. Minimum Depth of Binary Tree
找最小深度,要求叶子节点(即没有左右子节点的节点)到根节点的距离最短。递归遍历左右子树的最短长度,如果左子树为空了,就返回右子树的长度。原创 2023-05-05 15:23:35 · 199 阅读 · 0 评论 -
[leetcode] 559. Maximum Depth of N-ary Tree
如果当前遍历的节点为空,则放回。原创 2023-05-05 13:42:45 · 112 阅读 · 0 评论 -
[leetcode] 104. Maximum Depth of Binary Tree
函数返回当前的最大深度,当此节点为空时,返回。递归返回左右子树最大深度。深度:根节点到当前节点。高度:当前节点到叶子节。原创 2023-05-05 13:29:57 · 93 阅读 · 0 评论 -
[leetcode] 199. Binary Tree Right Side View
每层只用判断是否是最后一个元素。原创 2023-05-04 14:01:14 · 272 阅读 · 0 评论 -
[leetcode] 107. Binary Tree Level Order Traversal II
【代码】[leetcode] 107. Binary Tree Level Order Traversal II。原创 2023-05-04 13:41:48 · 83 阅读 · 0 评论 -
[leetcode] 102. Binary Tree Level Order Traversal
循环本层队列元素,添加到队尾,直到队空(二叉树遍历完)使用队列,记录每层队列的。原创 2023-05-04 13:36:02 · 91 阅读 · 0 评论 -
[leetcode] 145. Binary Tree Postorder Traversal
【代码】[leetcode] 145. Binary Tree Postorder Traversal。原创 2023-05-03 11:58:15 · 97 阅读 · 0 评论 -
[leetcode] 94. Binary Tree Inorder Traversal
采取指针的形式,先把指针移到左下节点,,并把指针移到有节点。此时的结果即中序遍历。原创 2023-05-03 11:35:09 · 95 阅读 · 0 评论 -
[leetcode] 144. Binary Tree Preorder Traversal
一定要先加右,再加左。原创 2023-05-03 11:18:54 · 104 阅读 · 0 评论 -
[leetcode] 239. Sliding Window Maximum
使用双端队列实现单调队列。原创 2023-05-01 15:01:39 · 264 阅读 · 0 评论 -
[leetcode] 150. Evaluate Reverse Polish Notation
每当遇到运算符,则抛出两个栈顶元素。最终栈中仅有一个元素,即为结果。, 第二个栈顶元素减去。原创 2023-04-29 11:52:38 · 106 阅读 · 0 评论 -
[leetcode] 1047. Remove All Adjacent Duplicates In String
如果栈为空,或者栈顶元素与当前字符不相等,则入栈。用 ArrayDeque 是因为删除元素更快一点。遍历所有字符,如果栈顶元素跟当前字符相等,则。原创 2023-04-29 11:41:13 · 100 阅读 · 0 评论 -
[leetcode] 20. Valid Parentheses
此时栈若为空,或者栈顶不为对应的元素,返回。遍历字符串中的每个字符,如果是。如果不是则意味着此时的字符为。原创 2023-04-29 11:25:35 · 93 阅读 · 0 评论 -
[leetcode] 225. Implement Stack Using Queues
就把队头的元素全部放在队尾,留最后一个元素再。是队尾的元素(最后入队)的元素永远跟 我们的。的时候 使用辅助队列。原创 2023-04-28 13:08:35 · 156 阅读 · 0 评论 -
[leetcode] 232. Implement Queue Using Stacks
中取元素,此时需要看下该栈是否为空,如果为空则把。原创 2023-04-28 10:34:33 · 181 阅读 · 0 评论 -
[leetcode] 151. Reverse Words in a String
先删除冗余的空格 (快慢指针), in-place 替换,思路很简单,实现的时候有很多细节容易出错,还是要注意。再翻转每个单词 (快慢指针),并返回 String.原创 2023-04-26 15:20:24 · 75 阅读 · 0 评论 -
[leetcode] 541. Reverse String II
如果超出长度,则翻转全部.原创 2023-04-26 11:14:54 · 99 阅读 · 0 评论 -
[leetcode] 344. Reverse String
直接交换前后两个位置的。原创 2023-04-26 10:43:09 · 119 阅读 · 0 评论 -
[leetcoe] 18. 4Sum
与 15. 3Sum 类似。原创 2023-04-25 14:54:32 · 87 阅读 · 0 评论 -
[leetcode] 15. 3Sum
这种情况为一个合法的 triplets。原创 2023-04-25 14:41:07 · 80 阅读 · 0 评论 -
[leetcode] 383. Ransom Note
的字符,并把出现的次数统计下来,即哈希表的。最后判断长度为 26 的数组中是否有 值。的字符,将出现的字符在哈希表中的次数。思路是构建长度为 26 的数组,遍历。的元素,如果有则说明无法构建,返回。原创 2023-04-25 14:16:18 · 103 阅读 · 0 评论 -
[leetcode] 454. 4Sum II
再根据此哈希表遍历后两个数组的元素和,结果加到。原创 2023-04-25 14:05:02 · 83 阅读 · 0 评论 -
[leetcode] 1. Two Sum
【代码】[leetcode] 1. Two Sum。原创 2023-04-24 15:24:40 · 140 阅读 · 0 评论 -
[leetcode] 202. Happy Number
则通过该题的计算一定能出现循环(即出现相同的数字),这也是解决本题的关键。则说明该数 为 Happy Number 反之 则不是,中包含曾经的元素,则判断此时的。原创 2023-04-24 12:03:22 · 161 阅读 · 0 评论 -
[leetcode] 349. Intersection of Two Arrays
中, 则添加该元素到。原创 2023-04-24 11:46:15 · 107 阅读 · 0 评论 -
[leetcode] 242. Valid Anagram
【代码】[leetcode] 242. Valid Anagram。原创 2023-04-24 11:27:44 · 82 阅读 · 0 评论 -
[leetcode] 142. Linked List Cycle II
遍历两遍链表,之后如果有环,则引入新的头指针指向链表头,新的头指针和。指针同时向前走,相遇的地方既是环的入口。注意判断条件应该包含。原创 2023-04-23 15:22:46 · 132 阅读 · 0 评论
分享