- 博客(820)
- 资源 (8)
- 收藏
- 关注
原创 力扣(LeetCode)437. 路径总和 III(2023.03.11)
给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22。输入:root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
2023-03-11 23:53:45
759
1
原创 力扣(LeetCode)436. 寻找右区间(2023.03.10)
解释:对于区间 [1,4] 和 [3,4] ,没有满足条件的“右侧”区间。输入:intervals = [[3,4],[2,3],[1,2]]输入:intervals = [[1,4],[2,3],[3,4]]对于 [2,3] ,区间 [3,4] 有最小的“右”起点。对于 [2,3] ,区间[3,4]具有最小的“右”起点;对于 [1,2] ,区间[2,3]具有最小的“右”起点。解释:对于 [3,4] ,没有满足条件的“右侧”区间。输入:intervals = [[1,2]]输出:[-1,2,-1]
2023-03-10 23:39:38
490
原创 力扣(LeetCode)435. 无重叠区间(2023.03.09)
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi]。输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输入: intervals = [ [1,2], [1,2], [1,2] ]输入: intervals = [ [1,2], [2,3] ]解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。解释: 你不需要移除任何区间,因为它们已经是无重叠的了。解释: 移除 [1,3] 后,剩下的区间没有重叠。
2023-03-09 22:56:02
920
原创 力扣(LeetCode)434. 字符串中的单词数(2023.03.08)
链接:https://leetcode.cn/problems/number-of-segments-in-a-string。解释: 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。输入: “Hello, my name is John”请注意,你可以假定字符串里不包括任何不可打印的字符。来源:力扣(LeetCode)方法一:统计单词间隔。
2023-03-08 23:33:34
283
原创 力扣(LeetCode)433. 最小基因变化(2023.03.07)
输入:start = “AACCGGTT”, end = “AAACGGTA”, bank = [“AACCGGTA”,“AACCGCTA”,“AAACGGTA”]输入:start = “AAAAACCC”, end = “AACCCCCC”, bank = [“AAAACCCC”,“AAACCCCC”,“AACCCCCC”]一次基因变化就意味着这个基因序列中的一个字符发生了变化。输入:start = “AACCGGTT”, end = “AACCGGTA”, bank = [“AACCGGTA”]
2023-03-07 22:43:15
271
原创 力扣(LeetCode)432. 全 O(1) 的数据结构(2023.03.06)
dec(String key) 字符串 key 的计数减少 1。inc(String key) 字符串 key 的计数增加 1。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key。链接:https://leetcode.cn/problems/all-oone-data-structure。getMaxKey() 返回任意一个计数最大的字符串。getMinKey() 返回任意一个计数最小的字符串。请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。
2023-03-06 23:56:00
176
原创 力扣(LeetCode)431. 将 N 叉树编码为二叉树(2023.03.05)
设计一个算法,可以将 N 叉树编码为二叉树,并能将该二叉树解码为原 N 叉树。一个 N 叉树是指每个节点都有不超过 N 个孩子节点的有根树。类似地,一个二叉树是指每个节点都有不超过 2 个孩子节点的有根树。你的编码 / 解码的算法的实现没有限制,你只需要保证一个 N 叉树可以编码为二叉树且该二叉树可以解码回原始 N 叉树即可。链接:https://leetcode.cn/problems/encode-n-ary-tree-to-binary-tree。你的编码和解码算法应是无状态的。
2023-03-05 23:29:37
160
原创 力扣(LeetCode)430. 扁平化多级双向链表(2023.03.04)
你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和一个额外的 子指针。这些子列表可以有一个或多个自己的子列表,以此类推,以生成如下面的示例所示的 多层数据结构。输入:head = [1,2,3,4,5,6,null,null,null,7,8,9,10,null,null,11,12]为了将每一级都序列化到一起,我们需要每一级中添加值为 null 的元素,以表示没有节点连接到上一级的上级节点。输出:[1,2,3,7,8,11,12,9,10,4,5,6]输出:[1,3,2]
2023-03-04 21:33:37
431
原创 力扣(LeetCode)429. N 叉树的层序遍历(2023.03.03)
输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]输出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。输入:root = [1,null,3,2,4,null,5,6]输出:[[1],[3,2,4],[5,6]]树的节点总数在 [0, 10。
2023-03-03 22:46:48
166
原创 力扣(LeetCode)428. 序列化和反序列化 N 叉树(2023.03.02)
例如,上面的树可以序列化为 [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]输入: root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]你不一定要遵循以上建议的格式,有很多不同的格式,所以请发挥创造力,想出不同的方法来完成本题。
2023-03-02 23:37:00
252
原创 力扣(LeetCode)427. 建立四叉树(2023.03.01)
输入:grid = [[1,1,1,1,0,0,0,0],[1,1,1,1,0,0,0,0],[1,1,1,1,1,1,1,1],[1,1,1,1,1,1,1,1],[1,1,1,1,0,0,0,0],[1,1,1,1,0,0,0,0],[1,1,1,1,0,0,0,0],[1,1,1,1,0,0,0,0]]输出:[[0,1],[1,1],[0,1],[1,1],[1,0],null,null,null,null,[1,0],[1,0],[1,1],[1,1]]解释:网格中的所有值都不相同。
2023-03-01 20:45:02
293
原创 力扣(LeetCode)426. 将二叉搜索树转化为排序的双向链表(2023.02.28)
链接:https://leetcode.cn/problems/convert-binary-search-tree-to-sorted-doubly-linked-list。对于双向循环列表,你可以将左右孩子指针作为双向循环链表的前驱和后继指针,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。解释:下图显示了转化后的二叉搜索树,实线表示后继关系,虚线表示前驱关系。输入:root = [4,2,5,1,3]输入:root = [2,1,3]输出:[1,2,3,4,5]输出:[1,2,3]
2023-02-28 23:26:20
372
原创 力扣(LeetCode)425. 单词方块(2023.02.27)
例如,单词序列 [“ball”,“area”,“lead”,“lady”] 形成了一个单词方块,因为每个单词从水平方向看和从竖直方向看都是相同的。输入:words = [“area”,“lead”,“wall”,“lady”,“ball”]输入:words = [“abat”,“baba”,“atan”,“atal”]输出: [[“ball”,“area”,“lead”,“lady”],输出:[[“baba”,“abat”,“baba”,“atal”],来源:力扣(LeetCode)
2023-02-27 22:47:17
307
原创 力扣(LeetCode)424. 替换后的最长重复字符(2023.02.26)
链接:https://leetcode.cn/problems/longest-repeating-character-replacement。给你一个字符串 s 和一个整数 k。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。将中间的一个’A’替换为’B’,字符串变为 “AABBBBA”。在执行上述操作后,返回包含相同字母的最长子字符串的长度。解释:用两个’A’替换为两个’B’,反之亦然。输入:s = “AABABBA”, k = 1。输入:s = “ABAB”, k = 2。
2023-02-26 22:21:15
371
原创 力扣(LeetCode)423. 从英文中重建数字(2023.02.25)
s[i] 为 [“e”,“g”,“f”,“i”,“h”,“o”,“n”,“s”,“r”,“u”,“t”,“w”,“v”,“x”,“z”] 这些字符之一。链接:https://leetcode.cn/problems/reconstruct-original-digits-from-english。给你一个字符串 s ,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9)。按 升序 返回原始的数字。输入:s = “owoztneoer”输入:s = “fviefuro”来源:力扣(LeetCode)
2023-02-25 23:08:16
319
原创 力扣(LeetCode)422. 有效的单词方块(2023.02.24)
有效的单词方块是指此由单词序列组成的文字方块的 第 k 行 和 第 k 列 (0 ≤ k < max(行数, 列数)) 所显示的字符串完全相同。链接:https://leetcode.cn/problems/valid-word-square。第 1 行和第 1 列都是 “abcd”。第 2 行和第 2 列都是 “bnrt”。第 3 行和第 3 列都是 “crmy”。第 1 行和第 1 列都是 “abcd”。第 2 行和第 2 列都是 “bnrt”。第 3 行和第 3 列都是 “crm”。
2023-02-24 21:56:01
679
原创 力扣(LeetCode)421. 数组中两个数的最大异或值(2023.02.23)
链接:https://leetcode.cn/problems/maximum-xor-of-two-numbers-in-an-array。给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n。输入:nums = [14,70,53,83,49,91,36,80,92,51,66,70]输入:nums = [3,10,5,25,2,8]解释:最大运算结果是 5 XOR 25 = 28.来源:力扣(LeetCode)
2023-02-23 22:33:40
182
原创 力扣(LeetCode)420. 强密码检验器(2023.02.22)
给你一个字符串 password ,返回 将 password 修改到满足强密码条件需要的最少修改步数。链接:https://leetcode.cn/problems/strong-password-checker。不包含连续三个重复字符 (比如 “Baaabb0” 是弱密码, 但是 “Baaba0” 是强密码)。包含至少 一个小写 字母,至少 一个大写 字母,和至少 一个数字。输入:password = “1337C0d3”输入:password = “aA1”输入:password = “a”
2023-02-22 22:06:41
332
原创 力扣(LeetCode)419. 甲板上的战舰(2023.02.21)
换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 ‘X’ 或者是一个空位 ‘.’ ,返回在甲板 board 上放置的 战舰 的数量。输入:board = [[“X”,“.”,“.”,“X”],[“.”,“.”,“.”,“X”],[“.”,“.”,“.”,“X”]]board[i][j] 是 ‘.’ 或 ‘X’输入:board = [[“.”]]
2023-02-21 23:33:15
157
原创 力扣(LeetCode)418. 屏幕可显示句子的数量(2023.02.20)
给你一个 rows x cols 的屏幕和一个用 非空 的单词列表组成的句子,请你计算出给定句子可以在屏幕上完整显示的次数。rows = 4, cols = 5, 句子 sentence = [“I”, “had”, “apple”, “pie”]rows = 2, cols = 8, 句子 sentence = [“hello”, “world”]rows = 3, cols = 6, 句子 sentence = [“a”, “bcd”, “e”]字符 ‘-’ 表示屏幕上的一个空白位置。
2023-02-20 23:11:43
351
原创 力扣(LeetCode)417. 太平洋大西洋水流问题(2023.02.19)
输入: heights = [[1,2,2,3,5],[3,2,3,4,4],[2,4,5,3,1],[6,7,1,4,5],[5,1,1,2,4]]链接:https://leetcode.cn/problems/pacific-atlantic-water-flow。输出: [[0,4],[1,3],[1,4],[2,2],[3,0],[3,1],[4,0]]输出: [[0,0],[0,1],[1,0],[1,1]]输入: heights = [[2,1],[1,2]]来源:力扣(LeetCode)
2023-02-19 23:14:36
201
原创 力扣(LeetCode)416. 分割等和子集(2023.02.18)
给你一个 只包含正整数 的 非空 数组 nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。链接:https://leetcode.cn/problems/partition-equal-subset-sum。解释:数组可以分割成 [1, 5, 5] 和 [11]。解释:数组不能分割成两个元素和相等的子集。输入:nums = [1,5,11,5]输入:nums = [1,2,3,5]来源:力扣(LeetCode)
2023-02-18 22:43:24
71
原创 力扣(LeetCode)415. 字符串相加(2023.02.17)
你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。链接:https://leetcode.cn/problems/add-strings。输入:num1 = “11”, num2 = “123”输入:num1 = “456”, num2 = “77”输入:num1 = “0”, num2 = “0”来源:力扣(LeetCode)
2023-02-17 22:16:13
72
原创 力扣(LeetCode)414. 第三大的数(2023.02.16)
链接:https://leetcode.cn/problems/third-maximum-number。此例中存在两个值为 2 的数,它们都排第二。在所有不同数字中排第三大的数为 1。给你一个非空数组,返回此数组中 第三大的数。如果不存在,则返回数组中最大的数。解释:注意,要求返回第三大的数,是指在所有不同数字中排第三大的数。解释:第三大的数不存在, 所以返回最大的数 2。输入:[2, 2, 3, 1]来源:力扣(LeetCode)解释:第三大的数是 1。输入:[3, 2, 1]
2023-02-16 22:42:59
285
原创 力扣(LeetCode)413. 等差数列划分(2023.02.15)
解释:nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。链接:https://leetcode.cn/problems/arithmetic-slices。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。输入:nums = [1,2,3,4]子数组 是数组中的一个连续序列。来源:力扣(LeetCode)输入:nums = [1]
2023-02-15 21:22:43
307
原创 力扣(LeetCode)412. Fizz Buzz(2023.02.14)
注意:“s55n” (“s ubsti tutio n”) 不是 “substitution” 的有效缩写形式,因为它试图替换两个相邻的子字符串。下一组最短缩写是 “a4” 和 “4e” ,其中 “4e” 也是 “blade” 的缩写形式之一,而 “a4” 不是。解释:“apple” 的最短缩写形式为 “5” ,但这也是 “blade” 的缩写形式之一。“1p3”、“2p2” 和 “3l1” 是 “apple” 的下一组最短缩写形式。“4e” 同时是 “apple” 和 “blade” 的缩写形式。
2023-02-14 23:13:27
119
原创 力扣(LeetCode)411. 最短独占单词缩写(2023.02.13)
注意:“s55n” (“s ubsti tutio n”) 不是 “substitution” 的有效缩写形式,因为它试图替换两个相邻的子字符串。下一组最短缩写是 “a4” 和 “4e” ,其中 “4e” 也是 “blade” 的缩写形式之一,而 “a4” 不是。解释:“apple” 的最短缩写形式为 “5” ,但这也是 “blade” 的缩写形式之一。“1p3”、“2p2” 和 “3l1” 是 “apple” 的下一组最短缩写形式。“4e” 同时是 “apple” 和 “blade” 的缩写形式。
2023-02-13 23:59:40
637
原创 力扣(LeetCode)410. 分割数组的最大值(2023.02.12)
链接:https://leetcode.cn/problems/split-array-largest-sum。给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。其中最好的方式是将其分为 [7,2,5] 和 [10,8]。因为此时这两个子数组各自的和的最大值为18,在所有情况中最小。输入:nums = [7,2,5,10,8], m = 2。输入:nums = [1,2,3,4,5], m = 2。输入:nums = [1,4,4], m = 3。
2023-02-12 22:03:48
494
原创 力扣(LeetCode)409. 最长回文串(2023.02.11)
链接:https://leetcode.cn/problems/longest-palindrome。给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串。在构造过程中,请注意 区分大小写。比如 “Aa” 不能当做一个回文字符串。我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。s 只由小写 和/或 大写英文字母组成。输入:s = “abccccdd”输入:s = “aaaaaccc”来源:力扣(LeetCode)输入:s = “a”
2023-02-11 23:23:28
141
原创 力扣(LeetCode)408. 有效单词缩写(2023.02.10)
字符串可以用 缩写 进行表示,缩写 的方法是将任意数量的 不相邻 的子字符串替换为相应子串的长度。解释:单词 “internationalization” 可以缩写为 “i12iz4n” (“i nternational iz atio n”)。输入:word = “internationalization”, abbr = “i12iz4n”输入:word = “apple”, abbr = “a2e”解释:单词 “apple” 无法缩写为 “a2e”。“s010n” (缩写存在前导零)
2023-02-10 22:53:06
1149
原创 力扣(LeetCode)407. 接雨水 II(2023.02.09)
输入: heightMap = [[3,3,3,3,3],[3,2,2,2,3],[3,2,1,2,3],[3,2,2,2,3],[3,3,3,3,3]]给你一个 m x n 的矩阵,其中的值均为非负整数,代表二维高度图每个单元的高度,请计算图中形状最多能接多少体积的雨水。输入: heightMap = [[1,4,3,1,3,2],[3,2,1,3,2,4],[2,3,3,2,3,1]]链接:https://leetcode.cn/problems/trapping-rain-water-ii。
2023-02-09 23:43:05
77
原创 力扣(LeetCode)406. 根据身高重建队列(2023.02.08)
因此 [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] 是重新构造后的队列。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]来源:力扣(LeetCode)
2023-02-08 23:55:51
160
原创 力扣(LeetCode)405. 数字转换为十六进制数(2023.02.07)
十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。链接:https://leetcode.cn/problems/convert-a-number-to-hexadecimal。给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。十六进制中所有字母(a-f)都必须是小写。给定的数确保在32位有符号整数范围内。
2023-02-07 22:36:35
163
原创 力扣(LeetCode)404. 左叶子之和(2023.02.06)
链接:https://leetcode.cn/problems/sum-of-left-leaves。解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。输入: root = [3,9,20,null,null,15,7]给定二叉树的根节点 root ,返回所有左叶子之和。节点数在 [1, 1000] 范围内。来源:力扣(LeetCode)输入: root = [1]
2023-02-06 23:41:37
60
原创 力扣(LeetCode)403. 青蛙过河(2023.02.05)
解释:青蛙可以成功过河,按照如下方案跳跃:跳 1 个单位到第 2 块石子, 然后跳 2 个单位到第 3 块石子, 接着 跳 2 个单位到第 4 块石子, 然后跳 3 个单位到第 6 块石子, 跳 4 个单位到第 7 块石子, 最后,跳 5 个单位到第 8 个石子(即最后一块石子)。解释:这是因为第 5 和第 6 个石子之间的间距太大,没有可选的方案供青蛙跳跃过去。输入:stones = [0,1,3,5,6,8,12,17]输入:stones = [0,1,2,3,4,8,9,11]
2023-02-05 23:35:54
319
原创 力扣(LeetCode)402. 移掉 K 位数字(2023.02.04)
给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k 位数字,使得剩下的数字最小。解释:移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。解释:移掉首位的 1 剩下的数字为 200. 注意输出不能有任何前导零。输入:num = “1432219”, k = 3。解释:从原数字移除所有的数字,剩余为空就是 0。输入:num = “10200”, k = 1。输入:num = “10”, k = 2。来源:力扣(LeetCode)方法一:贪心+单调栈。
2023-02-04 23:14:02
353
原创 力扣(LeetCode)401. 二进制手表(2023.02.03)
(图源:WikiMedia - Binary clock samui moon.jpg ,许可协议:Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) )输出:[“0:01”,“0:02”,“0:04”,“0:08”,“0:16”,“0:32”,“1:00”,“2:00”,“4:00”,“8:00”]例如,“01:00” 是无效的时间,正确的写法应该是 “1:00”。例如,“10:2” 是无效的时间,正确的写法应该是 “10:02”。
2023-02-03 23:30:36
467
原创 力扣(LeetCode)400. 第 N 位数字(2023.02.02)
给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …里是 0 ,它是 10 的一部分。链接:https://leetcode.cn/problems/nth-digit。来源:力扣(LeetCode)
2023-02-02 22:33:14
126
原创 力扣(LeetCode)399. 除法求值(2023.02.01)
输入:equations = [[“a”,“b”],[“b”,“c”],[“bc”,“cd”]], values = [1.5,2.5,5.0], queries = [[“a”,“c”],[“c”,“b”],[“bc”,“cd”],[“cd”,“bc”]]输入:equations = [[“a”,“b”],[“b”,“c”]], values = [2.0,3.0], queries = [[“a”,“c”],[“b”,“a”],[“a”,“e”],[“a”,“a”],[“x”,“x”]]
2023-02-01 23:40:32
318
原创 力扣(LeetCode)398. 随机数索引(2023.01.31)
int pick(int target) 从 nums 中选出一个满足 nums[i] == target 的随机索引 i。如果存在多个有效的索引,则每个索引的返回概率应当相等。给你一个可能含有 重复元素 的整数数组 nums ,请你随机输出给定的目标数字 target 的索引。// 随机返回索引 2, 3 或者 4 之一。每个索引的返回概率应该相等。// 随机返回索引 2, 3 或者 4 之一。链接:https://leetcode.cn/problems/random-pick-index。
2023-01-31 23:34:55
184
AES算法逆向分析.docx
2022-05-14
计算机网络实验报告-应用层协议消息的捕获和解析
2021-11-09
ColorTest.java
2021-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人