![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
吃着火锅x唱着歌
这个作者很懒,什么都没留下…
展开
-
LeetCode 35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。此算法时间复杂度为O(logn),空间复杂度为O(1)。请必须使用时间复杂度为 O(log n) 的算法。nums 为 无重复元素 的 升序 排列数组。原创 2024-05-08 22:04:44 · 432 阅读 · 0 评论 -
LeetCode 5.最长回文子串
法三:如果当前有回文串abacaba,那么我们称该回文串的臂长为3,当我们遍历到第二个b时,由于我们知道前面的aba也是回文串,因此我们可以直接跳过第二个b两边的a。但如何处理偶数长度的串呢,可以给串中每个字符两边都加上#,这样不管串的长度是偶数还是奇数,最终都变为奇数长度,这里插入的字符不一定需要是原串中没有出现过的字符,因为当我们以一个字符为中心,比较其两边对应的字符时,后插入的字符和原字符不会被相互比较,比如#a#,它以a为中心,会比较两个插入的#;给你一个字符串 s,找到 s 中最长的回文。原创 2024-04-30 18:42:07 · 416 阅读 · 0 评论 -
LeetCode 19.删除链表的倒数第N个结点
如果链表有n个结点,此算法时间复杂度为O(n),空间复杂度为O(1),且只遍历了一次链表。如果链表有n个结点,此算法时间复杂度为O(n),空间复杂度为O(n)。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。进阶:你能尝试使用一趟扫描实现吗?输出:[1,2,3,5]链表中结点的数目为 sz。原创 2024-04-03 01:14:39 · 174 阅读 · 0 评论 -
LeetCode 9.回文数
法二:我们可以遍历数字的每一位,从低位开始遍历,将数字倒序,如121,首次遍历比较12和1的大小,第二次比较1和12的大小,现在,倒序的数字12比1要大了,就停止遍历,由于是奇数,因此要比较1和12/10的结果,即忽略最中间的那位数字。但对于末尾有0的数字,这个方法就失效了,因为1210用于这种方法时相当于1210最后的0无效,结果和121相同,因此当末尾有0,且这个数字不是0时,那它一定不是回文数(因为如果它是回文数,说明它的最高位也是0,即这个数字只有一位,且这一位的值是0)。输入:x = -121。原创 2024-04-03 00:48:07 · 479 阅读 · 0 评论 -
LeetCode 27.移除元素
例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。解释:函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。输入:nums = [0,1,2,2,3,0,4,2], val = 2。输入:nums = [3,2,2,3], val = 3。输出:2, nums = [2,2]原创 2024-03-31 03:04:28 · 262 阅读 · 0 评论 -
LeetCode 26.删除有序数组中的重复项
给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2。输入:nums = [0,0,1,1,1,2,2,3,3,4]原创 2024-03-31 02:52:19 · 274 阅读 · 0 评论 -
LeetCode 20.有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。如果是输入字符串长度为n,此算法时间复杂度为O(n),空间复杂度为O(1)。每个右括号都有一个对应的相同类型的左括号。s 仅由括号 ‘()[]{}’ 组成。左括号必须用相同类型的右括号闭合。输入:s = “()[]{}”左括号必须以正确的顺序闭合。输入:s = “()”输入:s = “(]”原创 2024-03-28 23:32:36 · 270 阅读 · 0 评论 -
LeetCode 206.反转链表
法二:递归法,每递归到一个节点,令其下一节点指向自身,然后令自身的下一节点指向空(为了头节点的下一节点指向空,反正本次递归返回后,上层节点非nil时,上层递归会修改本节点的Next值)。如果链表中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(1)。如果链表中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(n)。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输入:head = [1,2]输出:[5,4,3,2,1]原创 2024-03-28 00:57:26 · 339 阅读 · 0 评论 -
LeetCode 2.两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。如果l1的长度为n,l2的长度为m,则此算法时间复杂度为O(m+n),空间复杂度为O(1)。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输入:l1 = [2,4,3], l2 = [5,6,4]每个链表中的节点数在范围 [1, 100] 内。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]输出:[7,0,8]原创 2024-03-25 23:57:50 · 195 阅读 · 0 评论 -
LeetCode 3.无重复字符的最长子串
滑动窗口,我们只需遍历一遍输入字符串,每当遍历到一个字符,我们先看这个字符之前有没有出现过,可以将其最后一次出现位置存放在一个map中,如果没有出现过,递增当前的最大子串长度;请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。输入: s = “pwwkew”输入: s = “bbbbb”原创 2024-03-25 01:34:39 · 184 阅读 · 0 评论 -
LeetCode 1877.数组中最大数对和的最小值
比方说,如果我们有数对 (1,5) ,(2,3) 和 (4,4),最大数对和 为 max(1+5, 2+3, 4+4) = max(6, 5, 8) = 8。最大数对和为 max(3+5, 4+4, 6+2) = max(8, 8, 8) = 8。最大数对和为 max(3+3, 5+2) = max(6, 7) = 7。解释:数组中的元素可以分为数对 (3,5),(4,4) 和 (6,2)。解释:数组中的元素可以分为数对 (3,3) 和 (5,2)。输入:nums = [3,5,4,2,4,6]原创 2024-03-25 01:26:12 · 267 阅读 · 0 评论 -
LeetCode 面试题08.07.无重复字符串的排列组合
第一轮遍历,我们把结果集中每个字符串(当前只有一个字符串abc)的第一个字符与后面的每个字符交换,交换的结果加入结果集,第一次遍历后,结果集为abc、bac、cba;第二轮遍历,我们把结果集中每个字符串的第二个字符与后面的每个字符交换,交换的结果加入结果集,第二次遍历后,结果集为abc、bac、cba(到此是上次遍历的结果集内容)、acb、bca、cab。输出:[“qwe”, “qew”, “wqe”, “weq”, “ewq”, “eqw”]输出:[“ab”, “ba”]输入:S = “ab”原创 2024-03-24 01:16:32 · 278 阅读 · 0 评论 -
LeetCode 2657.找到两个数组的前缀公共数组
i = 3:1,2,3 和 4 是两个数组的前缀公共元素,所以 C[3] = 4。i = 2:1,2 和 3 是两个数组的前缀公共元素,所以 C[2] = 3。i = 2:1,2 和 3 是两个数组的前缀公共元素,所以 C[2] = 3。i = 1:1 和 3 是两个数组的前缀公共元素,所以 C[1] = 2。输入:A = [1,3,2,4], B = [3,1,2,4]i = 1:只有 3 是公共元素,所以 C[1] = 1。输入:A = [2,3,1], B = [3,1,2]原创 2024-03-23 19:13:02 · 185 阅读 · 0 评论 -
LeetCode 2578.最小和分割
我们应该尽量平均分配数字到num1和num2,目的是让一个数字的值对结果的贡献变得更小,比如4325,如果分成4和325,那么325中的3就可以放到另一个数里,这样3就从百位变成了十位。解释:我们可以将 4325 分割成 num1 = 24 和 num2 = 35 ,和为 59 ,59 是最小和。解释:我们可以将 687 分割成 num1 = 68 和 num2 = 7 ,和为最优值 75。换句话说,num1 和 num2 中所有数字出现的次数之和等于 num 中所有数字出现的次数。原创 2024-03-19 00:06:03 · 206 阅读 · 0 评论 -
LeetCode 2882.删去重复的行
Alice (customer_id = 4) 和 Finn (customer_id = 5) 都使用 john@example.com,因此只保留该邮箱地址的第一次出现。在 DataFrame 中基于 email 列存在一些重复行。编写一个解决方案,删除这些重复行,仅保留第一次出现的行。返回结果格式如下例所示。原创 2024-03-18 23:04:33 · 345 阅读 · 0 评论 -
LeetCode 2864.最大二进制奇数
解释:其中一个 ‘1’ 必须出现在最后一位上。而由剩下的数字可以生产的最大数字是 “100”。你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数。解释:因为字符串 s 中仅有一个 ‘1’ ,其必须出现在最后一位上。如果字符串的长度为n,此算法时间复杂度为O(n),空间复杂度为(1)。如果字符串的长度为n,此算法时间复杂度为O(n),空间复杂度为(1)。给你一个 二进制 字符串 s ,其中至少包含一个 ‘1’。输入:s = “0101”原创 2024-03-17 03:12:23 · 206 阅读 · 0 评论 -
LeetCode 222.完全二叉树的节点个数
完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。n),找出树的高度需要logn的时间,对于二分的外层循环需要logn的时间,每次二分查找需要logn的时间来确定是否有叶子节点;如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(1)。原创 2024-03-17 01:59:28 · 193 阅读 · 0 评论 -
LeetCode 2885.重命名列
first 重命名为 first_name。age 重命名为 age_in_years。last 重命名为 last_name。id 重命名为 student_id。返回结果格式如下示例所示。原创 2024-03-13 00:51:29 · 280 阅读 · 0 评论 -
LeetCode 1409.查询带键的排列
对于 i=1: queries[i]=1, P=[3,1,2,4,5], 1 在 P 中的位置是 1,然后我们把 1 移动到 P 的开头,得到 P=[1,3,2,4,5]。对于 i=3: queries[i]=1, P=[2,1,3,4,5], 1 在 P 中的位置是 1,然后我们把 1 移动到 P 的开头,得到 P=[1,2,3,4,5]。输入:queries = [7,5,5,8,3], m = 8。输入:queries = [3,1,2,1], m = 5。输出:[2,1,2,1]原创 2024-03-13 00:47:23 · 441 阅读 · 0 评论 -
LeetCode 1557.可以到达所有点的最少点数目
给你一个 有向无环图 , n 个节点编号为 0 到 n-1 ,以及一个边数组 edges ,其中 edges[i] = [fromi, toi] 表示一条从点 fromi 到点 toi 的有向边。从 0 出发我们可以到达 [0,1,2,5]。从 3 出发我们可以到达 [3,4,2,5]。输入:n = 6, edges = [[0,1],[0,2],[2,5],[3,4],[4,2]]输入:n = 5, edges = [[0,1],[2,1],[3,1],[1,4],[2,4]]输出:[0,2,3]原创 2024-03-11 23:26:34 · 314 阅读 · 0 评论 -
LeetCode 2586.统计范围内的元音字符串数
输入:words = [“hey”,“aeo”,“mu”,“ooo”,“artro”], left = 1, right = 4。如果left和right指定的区间长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1),因为元音的数量是固定的。如果left和right指定的区间长度为n,则此算法时间复杂度为O(n),空间复杂度为O(1),因为元音的数量是固定的。输入:words = [“are”,“amy”,“u”], left = 0, right = 2。words[i] 仅由小写英文字母组成。原创 2024-03-11 02:25:17 · 274 阅读 · 0 评论 -
LeetCode 1315.祖父节点值为偶数的节点和
输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。如果树中有n个节点,此算法时间复杂度为O(n),空间复杂度为O(logn)。解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节点。如果不存在祖父节点值为偶数的节点,那么返回 0。树中节点的数目在 1 到 10^4 之间。原创 2024-03-11 02:13:41 · 252 阅读 · 0 评论 -
LeetCode 2044.统计按位或能得到最大值的子集数目
如果数组 a 可以由数组 b 删除一些元素(或不删除)得到,则认为数组 a 是数组 b 的一个 子集。给你一个整数数组 nums ,请你找出 nums 子集 按位或 可能得到的 最大值 ,并返回按位或能得到最大值的 不同非空子集的数目。对数组 a 执行 按位或 ,结果等于 a[0] OR a[1] OR …解释:[2,2,2] 的所有非空子集的按位或都可以得到 2。如果nums中有n个元素,此算法时间复杂度为O(2。输入:nums = [3,2,1,5]输入:nums = [2,2,2]原创 2024-03-11 00:22:45 · 364 阅读 · 0 评论 -
LeetCode 2710.移除字符串中的尾随零
给你一个用字符串表示的正整数 num ,请你以字符串形式返回不含尾随零的整数 num。解释:整数 “51230100” 有 2 个尾随零,移除并返回整数 “512301”。如果num的长度为n,此算法时间复杂度为O(n),空间复杂度为O(1)。解释:整数 “123” 不含尾随零,返回整数 “123”。输入:num = “51230100”num 仅由数字 0 到 9 组成。输入:num = “123”输出:“512301”原创 2024-03-09 18:31:44 · 256 阅读 · 0 评论 -
LeetCode 173.二叉搜索树迭代器
空间复杂度为O(n),构造函数的栈空间平均需要O(logn),最差需要O(n),存储中序遍历的结果需要O(n)。如果树中有n个节点,此算法构造函数和hasNext方法的时间复杂度为O(1),next方法的时间复杂度平均为O(1),最差为O(n);next() 和 hasNext() 操作均摊时间复杂度为 O(1) ,并使用 O(h) 内存。如果树中有n个节点,此算法构造函数和hasNext方法的时间复杂度为O(1),next方法的时间复杂度平均为O(1),最差为O(n);// 返回 True。原创 2024-03-09 17:27:57 · 584 阅读 · 0 评论 -
LeetCode 2482.行和列中一和零的差值
输入:grid = [[0,1,1],[1,0,1],[0,0,1]]输出:[[0,0,4],[0,0,4],[-2,-2,2]]此算法时间复杂度为O(mn),空间复杂度为O(m+n)。此算法时间复杂度为O(mn),空间复杂度为O(m+n)。输入:grid = [[1,1,1],[1,1,1]]grid[i][j] 要么是 0 ,要么是 1。令第 i 行零的数目为 zerosRowi。令第 j 列一的数目为 onesColj。输出:[[5,5,5],[5,5,5]]请你返回差值矩阵 diff。原创 2024-03-08 22:03:41 · 536 阅读 · 0 评论 -
LeetCode 面试题08.04.幂集
编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。种子集,每种需要n的时间来构建;空间复杂度为O(1)。如果nums的长度为n,此算法时间复杂度为O(n2。如果nums的长度为n,此算法时间复杂度为O(n2。如果nums的长度为n,此算法时间复杂度为O(2。输入: nums = [1,2,3]说明:解集不能包含重复的子集。),空间复杂度为O(n)。),空间复杂度为O(1)。原创 2024-03-08 01:28:15 · 373 阅读 · 0 评论 -
LeetCode 654.最大二叉树
ST表的建表用时为O(nlogn),而线段树的建树用时为O(n),但查询时,ST表比线段树快得多。简单介绍一下ST表,它是一个二维数组,a[i][j]表示从i开始的2的j次方个元素的极值是多少,在查询时,我们把查询区间分为有重叠部分的两段,然后取两段的极值做对比。法三:线段树,线段树可以logn的效率查找某区间内的最大值,将其与法一中找区间最大值的部分替换,可将找极值的时间复杂度降为logn。如果nums的长度为n,此算法时间复杂度为O(n),空间复杂度为O(n)。输出:[3,null,2,null,1]原创 2024-03-08 00:45:30 · 1012 阅读 · 0 评论 -
LeetCode 2629.复合函数
fn] ,并返回一个新的函数 fn ,它是函数数组的 复合函数。输出:functions = [x => 10 * x, x => 10 * x, x => 10 * x], x = 1。输入:functions = [x => x + 1, x => x * x, x => 2 * x], x = 4。[f(x), g(x), h(x)] 的 复合函数 为 fn(x) = f(g(h(x)))。一个空函数列表的 复合函数 是 恒等函数 f(x) = x。空函数列表的复合函数就是恒等函数。原创 2024-03-04 22:38:35 · 279 阅读 · 0 评论 -
LeetCode 2810.故障键盘
而输入其他字符则可以正常工作。因为第 4 个字符是 ‘i’ ,屏幕上的文本被反转,变成 “rts”。因为第 3 个字符是 ‘i’ ,屏幕上的文本被反转,变成 “op”。因为第 4 个字符是 ‘i’ ,屏幕上的文本被反转,变成 “po”。输入第 6 个字符后,屏幕上的文本是: “rtsng”。输入第 5 个字符后,屏幕上的文本是:“rtsn”。输入第 3 个字符后,屏幕上的文本是:“str”。输入第 2 个字符后,屏幕上的文本是:“po”。输入第 1 个字符后,屏幕上的文本是:“s”。原创 2024-03-04 16:23:48 · 528 阅读 · 0 评论 -
LeetCode 3069.将元素分配到两个数组中 I
例如,如果 arr1 == [1,2,3] 且 arr2 == [4,5,6] ,那么 result = [1,2,3,4,5,6]。在第 3 次操作中,由于 arr1 的最后一个元素大于 arr2 的最后一个元素(5 > 4),将 nums[3] 追加到 arr1 ,因此 arr1 变为 [5,3]。在第 4 次操作中,由于 arr2 的最后一个元素大于 arr1 的最后一个元素(4 > 3),将 nums[4] 追加到 arr2 ,因此 arr2 变为 [4,8]。输出:[5,3,4,8]原创 2024-03-04 15:29:29 · 382 阅读 · 0 评论 -
LeetCode 面试题 08.09.括号
设计一种算法,打印n对括号的所有合法的(例如,开闭一一对应)组合。说明:解集不能包含重复的子集。原创 2024-03-04 00:21:42 · 141 阅读 · 0 评论 -
LeetCode 100231.超过阈值的最少操作数 I
解释:数组中的所有元素都大于等于 1 ,所以不需要对 nums 做任何操作。如果nums的长度为n,此算法时间复杂度为O(n),空间复杂度为O(1)。如果nums的长度为n,此算法时间复杂度为O(n),空间复杂度为O(1)。解释:第一次操作后,nums 变为 [2, 11, 10, 3]。输入:nums = [2,11,10,1,3], k = 10。输入:nums = [1,1,2,4,9], k = 1。输入:nums = [1,1,2,4,9], k = 9。原创 2024-03-03 22:17:53 · 297 阅读 · 0 评论 -
LeetCode 52.N皇后 II
,因为第一行的皇后有n个位置可以选择,第二行有n-1个位置可以选择,考虑到不能同斜线,可选择的位置还会更少,因此所有可能的情况不超过n!),因为第一行的皇后有n个位置可以选择,第二行有n-1个位置可以选择,考虑到不能同斜线,可选择的位置还会更少,因此所有可能的情况不超过n!n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。解释:如上图所示,4 皇后问题存在两个不同的解法。原创 2024-03-01 18:20:34 · 297 阅读 · 0 评论 -
LeetCode 1551.是数组中所有元素相等的最小操作数
一次操作中,你可以选出两个下标,记作 x 和 y ( 0 <= x, y < n )并使 arr[x] 减去 1 、arr[y] 加上 1 (即 arr[x] -=1 且 arr[y] += 1 )。存在一个长度为 n 的数组 arr ,其中 arr[i] = (2 * i) + 1 ( 0 <= i < n )。第二次操作继续选出 x = 2 和 y = 0,数组将会变成 [3, 3, 3]第一次操作选出 x = 2 和 y = 0,使数组变为 [2, 3, 4]解释:arr = [1, 3, 5]原创 2024-03-01 14:13:27 · 243 阅读 · 0 评论 -
LeetCode 2161.根据给定数字划分数组
类似的,对于大于 pivot 的元素,如果 i < j 且 nums[i] > pivot 和 nums[j] > pivot 都成立,那么 pi < pj。小于 pivot 的元素的相对位置和大于 pivot 的元素的相对位置分别为 [9, 5, 3] 和 [12, 14] ,它们在结果数组中的相对顺序需要保留。小于 pivot 的元素的相对位置和大于 pivot 的元素的相对位置分别为 [-3] 和 [4, 3] ,它们在结果数组中的相对顺序需要保留。输出:[9,5,3,10,10,12,14]原创 2024-03-01 12:00:11 · 386 阅读 · 0 评论 -
LeetCode 1641.统计字典序元音字符串的数目
法一:举例说明,当n=1时,有a、e、i、o、u 5个字符串,当n=2时,我们可以在n=1时,所有字符串的基础上做修改,具体做法是往n=1时的每个字符串前面加一个字符,a可以加到所有元音字符开头的字符串前面,e可以加到以除了a外的其他元音字符开头的字符串前面,以此类推。一个解决方案是我们可以先借5个球,一共n+5个球,这样用挡板分完5个盒子后,再每个盒子减1个球就符合题意了,这样就可以实现每个盒子里都可以为空,因此最终结果是。问题转变为n个小球放到5个盒子里,有几种放法。原创 2024-03-01 00:04:10 · 616 阅读 · 0 评论 -
LeetCode 1378.使用唯一标识码替换员工ID
展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。这张表的每一行包含了该公司某位员工的 ID 和他的唯一标识码(unique ID)。在 SQL 中,(id, unique_id) 是这张表的主键。这张表的每一行分别代表了某公司其中一位员工的名字和 ID。在 SQL 中,id 是这张表的主键。Winston 的唯一标识码是 3。Jonathan 唯一标识码是 1。你可以以 任意 顺序返回结果表。Meir 的唯一标识码是 2。原创 2024-02-29 18:29:34 · 420 阅读 · 0 评论 -
LeetCode 2265.统计值等于子树平均值的节点数
对值为 4 的节点:子树的平均值 (4 + 8 + 5 + 0 + 1 + 6) / 6 = 24 / 6 = 4。对值为 5 的节点:子树的平均值 (5 + 6) / 2 = 11 / 2 = 5。解释:对值为 1 的节点:子树的平均值 1 / 1 = 1。输入:root = [4,8,5,0,1,null,6]对值为 0 的节点:子树的平均值 0 / 1 = 0。对值为 1 的节点:子树的平均值 1 / 1 = 1。对值为 6 的节点:子树的平均值 6 / 1 = 6。原创 2024-02-29 18:23:25 · 393 阅读 · 0 评论 -
LeetCode 2125.银行中的激光束数量
给你一个下标从 0 开始的二进制字符串数组 bank ,表示银行的平面图,这是一个大小为 m x n 的二维矩阵。bank[i] 表示第 i 行的设备分布,由若干 ‘0’ 和若干 ‘1’ 组成。‘0’ 表示单元格是空的,而 ‘1’ 表示单元格有一个安全设备。输入:bank = [“011001”,“000000”,“010100”,“001000”]激光束是独立的,也就是说,一个激光束既不会干扰另一个激光束,也不会与另一个激光束合并成一束。输入:bank = [“000”,“111”,“000”]原创 2024-02-28 11:34:57 · 487 阅读 · 0 评论