自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录_贪心_leetcode 56 738

区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回。当且仅当每个相邻位数上的数字。的最大数字,且数字呈。时,我们称这个整数是。

2023-05-04 19:55:00 382

原创 代码随想录_贪心_leetcode 435 763

像 "ababcbacadefegde", "hijhklij" 这样的划分是错误的,因为划分的片段数较少。划分结果为 "ababcbaca"、"defegde"、"hijhklij"。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。你需要移除两个 [1,2] 来使剩下的区间没有重叠。你不需要移除任何区间,因为它们已经是无重叠的了。移除 [1,3] 后,剩下的区间没有重叠。返回一个表示每个字符串片段的长度的列表。

2023-05-03 16:17:05 553

原创 代码随想录_贪心_leetcode 406 452

编号为 4 的人身高为 4 ,有 4 个身高更高或者相同的人排在他前面,即编号为 0、1、2、3 的人。因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。编号为 2 的人身高为 5 ,有 2 个身高更高或者相同的人排在他前面,即编号为 0 和 1 的人。编号为 3 的人身高为 6 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。编号为 5 的人身高为 7 ,有 1 个身高更高或者相同的人排在他前面,即编号为 1 的人。

2023-05-03 15:26:55 978

原创 代码随想录_贪心_leetcode 135 860

对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。

2023-05-01 15:00:47 592

原创 代码随想录_贪心_leetcode 1005 134

你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]。开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油。开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。

2023-04-27 10:53:21 425

原创 代码随想录_贪心_leetcode 122 55 45

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在这种情况下, 交易无法获得正利润,所以不参与交易可以获得最大利润,最大利润为 0。

2023-04-26 16:50:23 56

原创 代码随想录_贪心_leetcode 455 376 53

其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8)。整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3)。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。,这是能让孩子们满足胃口的饼干的最小尺寸;你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。连续子数组 [4,-1,2,1] 的和最大,为 6。

2023-04-26 15:33:21 347

原创 代码随想录_回溯_leetcode 491 46

数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。,找出并返回所有该数组中不同的递增子序列,递增子序列中。给定一个可包含重复数字的序列。给定一个不含重复数字的数组。返回所有不重复的全排列。

2023-04-25 17:15:36 350

原创 代码随想录_回溯_leetcode 78 90

返回该数组所有可能的子集(幂集)。返回该数组所有可能的子集(幂集)。

2023-04-24 15:33:51 31

原创 代码随想录_回溯_leetcode131 93

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245"、"192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。输出:["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]输入:s = "101023"

2023-04-24 15:02:54 323

原创 代码随想录_回溯_leetcode39 40

2 和 3 可以形成一组候选,2 + 2 + 3 = 7。注意 2 可以使用多次。如果至少一个数字的被选数量不同,则两种组合是不同的。中的每个数字在每个组合中只能使用。7 也是一个候选, 7 = 7。,并以列表形式返回。中可以使数字和为目标数。对于给定的输入,保证和为。给定一个候选人编号的集合。解集不能包含重复的组合。中所有可以使数字和为。

2023-04-20 09:58:54 112

原创 代码随想录_回溯_leetcode77 216 17

在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。该列表不能包含相同的组合两次,组合可以以任何顺序返回。的字符串,返回所有它能表示的字母组合。所有可能的有效组合的列表。没有其他符合的组合了。没有其他符合的组合了。

2023-04-18 15:49:54 312

原创 代码随想录_二叉树_leetcode669 108 538

改变保留在树中的元素的相对结构 (即,如果没有被移除,原有的父代子代关系都应当保留)。树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。通过修剪二叉搜索树,使得所有节点的值在。给你二叉搜索树的根节点。

2023-04-17 16:09:44 510

原创 代码随想录_二叉树_leetcode 701 450

对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。一个正确的答案是 [5,4,6,2,null,null,7], 如下图所示。给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。返回插入后二叉搜索树的根节点。另一个正确答案是 [5,2,6,null,4,null,7]。,新值和原始二叉搜索树中的任意节点值都不同。给定二叉搜索树(BST)的根节点。给定一个二叉搜索树的根节点。

2023-04-14 19:19:20 276

原创 代码随想录_二叉树_leetcode236

中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]节点 2和节点 4的最近公共祖先是 2, 因为根据定义最近公共祖先节点可以为节点本身。

2023-04-14 16:31:44 348

原创 代码随想录_二叉树_leetcode530 501

给你一个含重复值的二叉搜索树(BST)的根节点。差值是一个正数,其数值等于两值之差的绝对值。,找出并返回 BST 中的所有。如果树中有不止一个众数,可以按。给你一个二叉搜索树的根节点。(即,出现频率最高的元素)。

2023-04-14 15:58:23 849

原创 代码随想录_二叉树_leetcode700、98

返回以该节点为根的子树。如果节点不存在,则返回。根节点的值是 5 ,但是右子节点的值是 4。,判断其是否是一个有效的二叉搜索树。你需要在 BST 中找到节点值等于。给定二叉搜索树(BST)的根节点。给你一个二叉树的根节点。

2023-04-13 19:12:03 479

原创 代码随想录_二叉树_leetcode654 617

合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;- [3,2,1,6,0,5] 中的最大值是 6 ,左边部分是 [3,2,1] ,右边部分是 [0,5]。- [3,2,1] 中的最大值是 3 ,左边部分是 [] ,右边部分是 [2,1]。- [2,1] 中的最大值是 2 ,左边部分是 [] ,右边部分是 [1]。- [0,5] 中的最大值是 5 ,左边部分是 [0] ,右边部分是 []。- 只有一个元素,所以子节点是一个值为 1 的节点。- 空数组,无子节点。

2023-04-13 18:15:17 491

原创 代码随想录_二叉树_leetcode105 106

是同一棵树的后序遍历,请你构造并返回这颗。,请构造二叉树并返回其根节点。是二叉树的中序遍历,

2023-04-12 16:13:10 515

原创 代码随想录_二叉树_leetcode112、113

不存在 sum = 5 的根节点到叶子节点的路径。由于树是空的,所以不存在根节点到叶子节点的路径。的路径,这条路径上所有节点值相加等于目标和。等于目标和的根节点到叶节点路径如上图所示。路径总和等于给定目标和的路径。(1 --> 2): 和为 3。(1 --> 3): 和为 4。和一个表示目标和的整数。是指没有子节点的节点。是指没有子节点的节点。

2023-04-12 14:45:21 679

原创 代码随想录_二叉树_leetcode404 leetcode513

在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。假设二叉树中至少有一个节点。,返回所有左叶子之和。

2023-04-11 19:10:55 51

原创 代码随想录_二叉树_leetcode257

返回所有从根节点到叶子节点的路径。给你一个二叉树的根节点。是指没有子节点的节点。

2023-04-11 15:21:40 77

原创 代码随想录_leetcode222 - leetcode110

的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。给定一个二叉树,判断它是否是高度平衡的二叉树。的左右两个子树的高度差的绝对值不超过 1。,求出该树的节点个数。

2023-04-10 10:59:51 634

原创 代码随想录_leetcode104、111迭代法

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最大深度。叶子节点是指没有子节点的节点。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。

2023-04-10 10:05:25 667

原创 代码随想录_226翻转二叉树、101对称二叉树

翻转这棵二叉树,并返回其根节点。给你一棵二叉树的根节点。给你一个二叉树的根节点。, 检查它是否轴对称。

2023-04-10 09:26:39 541

原创 代码随想录_二叉树_二叉树的层序遍历十道题

给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化的输出按层序遍历排列,同一层节点由 next 指针连接,'#' 标志着每一层的结束。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。叶子节点是指没有子节点的节点。叶子节点是指没有子节点的节点。

2023-04-06 11:09:38 288

原创 代码随想录_二叉树_leetcde 144 94 145

【代码】代码随想录_二叉树_leetcde 144 94 145。

2023-04-04 11:35:56 38

原创 代码随想录_栈与队列_leetcode347 前k个高频元素

这一题使用map就可以 key对应数组元素 value对应频率。,请你返回其中出现频率前。然后使用小顶堆按照频率排序。

2023-04-03 21:27:34 48

原创 代码随想录_栈与队列_leetcode239 滑动窗口最大值

的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。使用一个双端队列,只维护有可能成为最大值的元素。滑动窗口每次只向右移动一位。

2023-04-03 20:51:37 39

原创 代码随想录_栈与队列_leetcode150 逆波兰表达式求值

该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。遇见运算符就从栈依次取出 右操作数 左操作数。返回一个表示表达式值的整数。逆波兰式(左操作数 右操作数 运算符)A+B 转成逆波兰式就是 AB+

2023-04-01 20:17:26 49

原创 代码随想录_栈与队列_leetcode1047

给出由小写字母组成的字符串S会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。"abbaca""ca"例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。

2023-04-01 19:41:57 44

原创 代码随想录_栈与队列_leetcode20 有效的括号

判断字符串是否有效。

2023-04-01 19:28:54 37

原创 代码随想录_栈与队列_leetcode225 用队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(myStack.empty();// 返回 False。

2023-04-01 19:06:08 45

原创 代码随想录_栈队列_leetcode232 用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(

2023-03-31 09:49:31 38

原创 代码随想录_字符串_leetcode28 找出字符串中第一个匹配

"leeto" 没有在 "leetcode" 中出现,所以返回 -1。字符串的第一个匹配项的下标(下标从 0 开始)。第一个匹配项的下标是 0 ,所以返回 0。"sad" 在下标 0 和 6 处匹配。

2023-03-30 11:03:07 40

原创 代码随想录_字符串_剑指offer 58II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。把字符串分为[0,n) [n,s.size()) 两段。分别翻转两段后 在翻转整个字符串。

2023-03-29 18:22:28 33

原创 代码随想录_字符串_leetcode151 翻转字符串中的单词

中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。反转后的字符串中不能存在前导空格和尾随空格。中使用至少一个空格将字符串中的。之间用单个空格连接的结果字符串。是由非空格字符组成的字符串。

2023-03-29 18:08:31 31

原创 代码随想录_字符串_leetcode 剑指offer05 替换空格

中的每个空格替换成"%20"。请实现一个函数,把字符串。

2023-03-28 22:55:35 36

原创 代码随想录_字符串_leetcode541 反转字符II

从字符串开头算起,每计数至。

2023-03-28 22:37:27 33

原创 代码随想录_字符串_leetcode344 翻转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。、使用 O(1) 的额外空间解决这一问题。不要给另外的数组分配额外的空间,你必须。

2023-03-28 22:24:17 41

空空如也

空空如也

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

TA关注的人

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