自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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] 77. Combinations

反之说明路径还没有找完,可以遍历当前路径后面可能的选项。说明已经找到一条路径,需要加入到。

2023-05-12 16:03:44 50

原创 [leetcode] 110. Balanced Binary Tree

定义是返回当前节点的高度,如果不平衡,则返回。

2023-05-08 05:39:53 52

原创 [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] 559. Maximum Depth of N-ary Tree

如果当前遍历的节点为空,则放回。

2023-05-05 13:42:45 74

原创 [leetcode] 104. Maximum Depth of Binary Tree

函数返回当前的最大深度,当此节点为空时,返回。递归返回左右子树最大深度。深度:根节点到当前节点。高度:当前节点到叶子节。

2023-05-05 13:29:57 54

原创 [leetcode] 199. Binary Tree Right Side View

每层只用判断是否是最后一个元素。

2023-05-04 14:01:14 199

原创 [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] 144. Binary Tree Preorder Traversal

一定要先加右,再加左。

2023-05-03 11:18:54 71

原创 [leetcode] 239. Sliding Window Maximum

使用双端队列实现单调队列。

2023-05-01 15:01:39 193

原创 [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] 232. Implement Queue Using Stacks

中取元素,此时需要看下该栈是否为空,如果为空则把。

2023-04-28 10:34:33 107

原创 [leetcode] 151. Reverse Words in a String

先删除冗余的空格 (快慢指针), in-place 替换,思路很简单,实现的时候有很多细节容易出错,还是要注意。再翻转每个单词 (快慢指针),并返回 String.

2023-04-26 15:20:24 42

原创 [leetcode] 541. Reverse String II

如果超出长度,则翻转全部.

2023-04-26 11:14:54 62

原创 [leetcode] 344. Reverse String

直接交换前后两个位置的。

2023-04-26 10:43:09 79

原创 [leetcoe] 18. 4Sum

与 15. 3Sum 类似。

2023-04-25 14:54:32 48

原创 [leetcode] 15. 3Sum

这种情况为一个合法的 triplets。

2023-04-25 14:41:07 38

原创 [leetcode] 383. Ransom Note

的字符,并把出现的次数统计下来,即哈希表的。最后判断长度为 26 的数组中是否有 值。的字符,将出现的字符在哈希表中的次数。思路是构建长度为 26 的数组,遍历。的元素,如果有则说明无法构建,返回。

2023-04-25 14:16:18 67

原创 [leetcode] 454. 4Sum II

再根据此哈希表遍历后两个数组的元素和,结果加到。

2023-04-25 14:05:02 47

原创 [leetcode] 1. Two Sum

【代码】[leetcode] 1. Two Sum。

2023-04-24 15:24:40 94

原创 [leetcode] 202. Happy Number

则通过该题的计算一定能出现循环(即出现相同的数字),这也是解决本题的关键。则说明该数 为 Happy Number 反之 则不是,中包含曾经的元素,则判断此时的。

2023-04-24 12:03:22 116

原创 [leetcode] 349. Intersection of Two Arrays

中, 则添加该元素到。

2023-04-24 11:46:15 63

原创 [leetcode] 242. Valid Anagram

【代码】[leetcode] 242. Valid Anagram。

2023-04-24 11:27:44 42

原创 [leetcode] 142. Linked List Cycle II

遍历两遍链表,之后如果有环,则引入新的头指针指向链表头,新的头指针和。指针同时向前走,相遇的地方既是环的入口。注意判断条件应该包含。

2023-04-23 15:22:46 85

空空如也

空空如也

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

TA关注的人

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