- 博客(784)
- 资源 (8)
- 收藏
- 关注
原创 力扣(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
81
原创 力扣(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
3
原创 力扣(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
122
原创 力扣(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
82
原创 力扣(LeetCode)397. 整数替换(2023.01.30)
链接:https://leetcode.cn/problems/integer-replacement。如果 n 是奇数,则可以用 n + 1或n - 1替换 n。解释:7 -> 8 -> 4 -> 2 -> 1。如果 n 是偶数,则用 n / 2替换 n。或 7 -> 6 -> 3 -> 2 -> 1。返回 n 变为 1 所需的 最小替换次数。解释:8 -> 4 -> 2 -> 1。来源:力扣(LeetCode)
2023-01-30 23:43:20
15
原创 力扣(LeetCode)396. 旋转函数(2023.01.29)
链接:https://leetcode.cn/problems/rotate-function。所以 F(0), F(1), F(2), F(3) 中的最大值是 F(3) = 26。返回 F(0), F(1), …, F(n-1)中的最大值。给定一个长度为 n 的整数数组 nums。生成的测试用例让答案符合 32 位 整数。输入: nums = [4,3,2,6]输入: nums = [100]来源:力扣(LeetCode)
2023-01-29 21:17:21
513
原创 力扣(LeetCode)395. 至少有 K 个重复字符的最长子串(2023.01.28)
链接:https://leetcode.cn/problems/longest-substring-with-at-least-k-repeating-characters。给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k。返回这一子串的长度。解释:最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重复了 3 次。解释:最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。输入:s = “aaabb”, k = 3。
2023-01-28 22:27:04
3
原创 力扣(LeetCode)394. 字符串解码(2023.01.27)
编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。输入:s = “2[abc]3[cd]ef”输入:s = “abc3[cd]xyz”输出:“abcabccdcdcdef”输入:s = “3[a]2[bc]”输入:s = “3[a2[c]]”
2023-01-27 23:45:45
238
原创 力扣(LeetCode)393. UTF-8 编码验证(2023.01.26)
对于 n 字节 的字符 (n > 1),第一个字节的前 n 位都设为1,第 n+1 位设为 0 ,后面字节的前两位一律设为 10。剩下的没有提及的二进制位,全部为这个符号的 unicode 码。对于 1 字节 的字符,字节的第一位设为 0 ,后面 7 位为这个符号的 unicode 码。给定一个表示数据的整数数组 data ,返回它是否为有效的 UTF-8 编码。这是有效的 utf-8 编码,为一个 2 字节字符,跟着一个 1 字节字符。下一个字节是开头为 10 的延续字节,这是正确的。
2023-01-26 21:59:08
536
原创 力扣(LeetCode)392. 判断子序列(2023.01.25)
字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。链接:https://leetcode.cn/problems/is-subsequence。给定字符串 s 和 t ,判断 s 是否为 t 的子序列。输入:s = “abc”, t = “ahbgdc”输入:s = “axc”, t = “ahbgdc”
2023-01-25 18:22:49
548
原创 力扣(LeetCode)391. 完美矩形(2023.01.24)
给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。输入:rectangles = [[1,1,3,3],[3,1,4,2],[3,2,4,4],[1,3,2,4],[2,3,3,4]]输入:rectangles = [[1,1,2,3],[1,3,2,4],[3,1,4,2],[3,2,4,4]]输入:rectangles = [[1,1,3,3],[3,1,4,2],[1,3,2,4],[2,2,4,4]]
2023-01-24 21:48:45
522
原创 力扣(LeetCode)390. 消除游戏(2023.01.23)
列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。链接:https://leetcode.cn/problems/elimination-game。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。给你整数 n ,返回 arr 最后剩下的数字。来源:力扣(LeetCode)
2023-01-23 23:46:31
1205
原创 力扣(LeetCode)389. 找不同(2023.01.22)
链接:https://leetcode.cn/problems/find-the-difference。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。输入:s = “abcd”, t = “abcde”给定两个字符串 s 和 t ,它们只包含小写字母。输入:s = “”, t = “y”解释:‘e’ 是那个被添加的字母。请找出在 t 中被添加的字母。来源:力扣(LeetCode)s 和 t 只包含小写字母。
2023-01-22 23:57:38
906
1
原创 力扣(LeetCode)388. 文件的最长绝对路径(2023.01.21)
如果是代码表示,上面的文件系统可以写为 “dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile2.ext”。‘\n’ 和 ‘\t’ 分别是换行符和制表符。输入:input = “dir\n\tsubdir1\n\t\tfile1.ext\n\t\tsubsubdir1\n\tsubdir2\n\t\tsubsubdir2\n\t\t\tfile2.ext”如果系统中没有文件,返回 0。
2023-01-21 23:59:18
1183
原创 力扣(LeetCode)387. 字符串中的第一个唯一字符(2023.01.20)
链接:https://leetcode.cn/problems/first-unique-character-in-a-string。给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。输入: s = “loveleetcode”输入: s = “leetcode”来源:力扣(LeetCode)输入: s = “aabb”方法一:哈希表存储频数。
2023-01-20 22:44:34
33
原创 力扣(LeetCode)386. 字典序排数(2023.01.19)
链接:https://leetcode.cn/problems/lexicographical-numbers。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。来源:力扣(LeetCode)
2023-01-19 23:59:12
21
原创 力扣(LeetCode)385. 迷你语法分析器(2023.01.18)
给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger。链接:https://leetcode.cn/problems/mini-parser。解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。s 由数字、方括号 “[]”、负号 ‘-’ 、逗号 ','组成。输入:s = “[123,[456,[789]]]”,输出:[123,[456,[789]]]输入中的所有值的范围是 [-10。输入:s = “324”,
2023-01-18 23:57:21
163
原创 力扣(LeetCode)384. 打乱数组(2023.01.17)
/ 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概率应该相同。例如,返回 [3, 1, 2]// 随机返回数组 [1, 2, 3] 打乱后的结果。例如,返回 [1, 3, 2]// 重设数组到它的初始状态 [1, 2, 3]。返回 [1, 2, 3]链接:https://leetcode.cn/problems/shuffle-an-array。int[] reset() 重设数组到它的初始状态并返回。int[] shuffle() 返回数组随机打乱后的结果。
2023-01-17 23:23:36
216
原创 力扣(LeetCode)383. 赎金信(2023.01.16)
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。链接:https://leetcode.cn/problems/ransom-note。输入:ransomNote = “aa”, magazine = “aab”输入:ransomNote = “aa”, magazine = “ab”输入:ransomNote = “a”, magazine = “b”如果可以,返回 true;来源:力扣(LeetCode)
2023-01-16 13:06:29
320
原创 力扣(LeetCode)382. 链表随机节点(2023.01.15)
链接:https://leetcode.cn/problems/linked-list-random-node。int getRandom() 从链表中随机选择一个节点并返回该节点的值。// getRandom() 方法应随机返回 1、2、3中的一个,每个元素被返回的概率相等。给你一个单链表,随机选择链表的一个节点,并返回相应的节点值。
2023-01-15 23:56:53
354
原创 力扣(LeetCode)381. O(1) 时间插入、删除和获取随机元素 - 允许重复(2023.01.14)
链接:https://leetcode.cn/problems/insert-delete-getrandom-o1-duplicates-allowed。bool insert(int val) 将一个 val 项插入到集合中,即使该项已经存在。int getRandom() 从当前的多个元素集合中返回一个随机元素。// getRandom 应当有 2/3 的概率返回 1 ,1/3 的概率返回 2。// 向集合中插入 2 ,返回 true。// 从集合中删除 1 ,返回 true。
2023-01-14 23:54:07
435
原创 力扣(LeetCode)380. O(1) 时间插入、删除和获取随机元素(2023.01.13)
int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true;// 由于 2 是集合中唯一的数字,getRandom 总是返回 2。// 向集合中插入 2。// 从集合中移除 1 ,返回 true。// getRandom 应随机返回 1 或 2。// 返回 false ,表示集合中不存在 2。// 2 已在集合中,所以返回 false。
2023-01-13 23:33:03
399
原创 力扣(LeetCode)379. 电话目录管理系统(2023.01.12)
链接:https://leetcode.cn/problems/design-phone-directory。// 初始化电话目录,包括 3 个电话号码:0,1 和 2。// 可以返回任意未分配的号码,这里我们假设它返回 0。// 此时,号码 2 已经被分配,所以返回 false。// 号码 2 现在是未分配状态,所以返回 true。// 号码 2 未分配,所以返回为 true。// 返回 2,分配后,只剩一个号码未被分配。// 释放号码 2,将该号码变回未分配状态。// 假设,函数返回 1。
2023-01-12 22:24:16
75
原创 力扣(LeetCode)378. 有序矩阵中第 K 小的元素(2023.01.11)
链接:https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix。给你一个 n x n 矩阵 matrix ,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。输入:matrix = [[1,5,9],[10,11,13],[12,13,15]], k = 8。解释:矩阵中的元素为 [1,5,9,10,11,12,13,13,15],第 8 小元素是 13。输入:matrix = [[-5]], k = 1。
2023-01-11 22:29:00
176
原创 力扣(LeetCode)377. 组合总和 Ⅳ(2023.01.10)
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target。请你从 nums 中找出并返回总和为 target 的元素组合的个数。如果给定的数组中含有负数会发生什么?问题会产生何种变化?如果允许负数出现,需要向题目中添加哪些限制条件?链接:https://leetcode.cn/problems/combination-sum-iv。输入:nums = [1,2,3], target = 4。输入:nums = [9], target = 3。请注意,顺序不同的序列被视作不同的组合。
2023-01-10 23:57:05
186
原创 力扣(LeetCode)376. 摆动序列(2023.01.09)
相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8)。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。输入:nums = [1,17,5,10,13,15,10,5,16,8]
2023-01-09 23:49:33
187
原创 力扣(LeetCode)375. 猜数字大小 II(2023.01.08)
链接:https://leetcode.cn/problems/guess-number-higher-or-lower-ii。每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字。解释:只有一个可能的数字,所以你可以直接猜 1 并赢得游戏,无需支付任何费用。解释:有两个可能的数字 1 和 2。你来猜我选了哪个数字。
2023-01-08 23:39:41
425
原创 力扣(LeetCode)374. 猜数字大小(2023.01.07)
链接:https://leetcode.cn/problems/guess-number-higher-or-lower。0:我选出的数字和你猜的数字一样。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。-1:我选出的数字比你猜的数字小 pick < num。1:我选出的数字比你猜的数字大 pick > num。输入:n = 10, pick = 6。输入:n = 1, pick = 1。输入:n = 2, pick = 1。输入:n = 2, pick = 2。
2023-01-08 00:00:34
53
原创 力扣(LeetCode)371. 两整数之和(2023.01.06)
链接:https://leetcode.cn/problems/sum-of-two-integers。给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。输入:a = 1, b = 2。输入:a = 2, b = 3。来源:力扣(LeetCode)
2023-01-06 23:31:28
8
原创 力扣(LeetCode)370. 区间加法(2023.01.05)
假设你有一个长度为 n 的数组,初始情况下所有的数字均为 0,你将会被给出 k 个更新的操作。其中,每个操作会被表示为一个三元组:[startIndex, endIndex, inc],你需要将子数组 A[startIndex … endIndex](包括 startIndex 和 endIndex)增加 inc。请你返回 k 次操作后的数组。示例:解释:来源:力扣(LeetCode)链接:https://leetcode.cn/problems/range-addition方法一:差分数组
2023-01-05 19:54:59
339
原创 力扣(LeetCode)369. 给单链表加一(2023.01.04)
链接:https://leetcode.cn/problems/plus-one-linked-list。这些数字的存储是这样的:最高位有效的数字位于链表的首位 head。给定一个用链表表示的非负整数, 然后将这个整数 再加上 1。链表中的节点数在 [1, 100] 的范围内。由链表表示的数字不包含前导零,除了零本身。输入: head = [1,2,3]来源:力扣(LeetCode)输入: head = [0]输出: [1,2,4]
2023-01-05 00:00:32
27
原创 力扣(LeetCode)368. 最大整除子集(2023.01.03)
链接:https://leetcode.cn/problems/largest-divisible-subset。answer[i] % answer[j] == 0 ,或。如果存在多个有效解子集,返回其中任何一个均可。解释:[1,3] 也会被视为正确答案。输入:nums = [1,2,4,8]输入:nums = [1,2,3]nums 中的所有整数 互不相同。来源:力扣(LeetCode)输出:[1,2,4,8]
2023-01-03 23:54:24
117
原创 力扣(LeetCode)367. 有效的完全平方数(2023.01.02)
链接:https://leetcode.cn/problems/valid-perfect-square。如果 num 是一个完全平方数,则返回 true ,否则返回 false。返回 false ,因为 3.742 * 3.742 = 14 但 3.742 不是一个整数。完全平方数 是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。返回 true ,因为 4 * 4 = 16 且 4 是一个整数。来源:力扣(LeetCode)输入:num = 16。输入:num = 14。
2023-01-02 23:34:46
418
原创 力扣(LeetCode)366. 寻找二叉树的叶子节点(2023.01.01)
链接:https://leetcode.cn/problems/find-leaves-of-binary-tree。依次从左到右,每次收集并删除所有的叶子节点。输入: [1,2,3,4,5]来源:力扣(LeetCode)重复如上过程直到整棵树为空。
2023-01-01 23:40:04
14
原创 力扣(LeetCode)365. 水壶问题(2022-2023)
如果可以得到 targetCapacity 升水,最后请用以上水壶中的一或两个来盛放取得的 targetCapacity 升水。输入: jug1Capacity = 3, jug2Capacity = 5, targetCapacity = 4。输入: jug1Capacity = 2, jug2Capacity = 6, targetCapacity = 5。输入: jug1Capacity = 1, jug2Capacity = 2, targetCapacity = 3。
2022-12-31 22:01:57
11
原创 力扣(LeetCode)364. 加权嵌套序列和 II(2022.12.31)
例如,嵌套列表 [1,[2,2],[[3],2],1] 的每个整数的值都等于它的 深度。给你一个整数嵌套列表 nestedList ,每一个元素要么是一个整数,要么是一个列表(这个列表中的每个元素也同样是整数或列表)。解释:一个 1 在深度为 3 的位置, 一个 4 在深度为 2 的位置,一个 6 在深度为 1 的位置。解释:4 个 1 在深度为 1 的位置, 一个 2 在深度为 2 的位置。输入:nestedList = [[1,1],2,[1,1]]嵌套列表中整数的值在范围 [-100, 100]
2022-12-31 22:01:16
262
原创 力扣(LeetCode)363. 矩形区域不超过 K 的最大数值和(2022.12.30)
链接:https://leetcode.cn/problems/max-sum-of-rectangle-no-larger-than-k。蓝色边框圈出来的矩形区域 [[0, 1], [-2, 3]] 的数值和是 2,且 2 是不超过 k 的最大数字(k = 2)。输入:matrix = [[1,0,1],[0,-2,3]], k = 2。输入:matrix = [[2,2,-1]], k = 3。如果行数远大于列数,该如何设计解决方案?来源:力扣(LeetCode)
2022-12-30 20:06:40
281
原创 力扣(LeetCode)362.敲击计数器(2022.12.29)
每个函数会接收一个时间戳参数(以秒为单位),你可以假设最早的时间戳从1开始,且都是按照时间顺序对系统进行调用(即时间戳是单调递增)。// 在时刻 300 统计过去 5 分钟内的敲击次数,函数返回 4。// 在时刻 301 统计过去 5 分钟内的敲击次数,函数返回 3。// 在时刻 4 统计过去 5 分钟内的敲击次数, 函数返回 3。// 在时刻 300 敲击一次。在同一时刻有可能会有多次敲击。// 在时刻 1 敲击一次。// 在时刻 2 敲击一次。// 在时刻 3 敲击一次。
2022-12-29 21:27:45
168
原创 力扣(LeetCode)361. 轰炸敌人(2022.12.28)
输入: [[“0”,“E”,“0”,“0”],[“E”,“0”,“W”,“E”],[“0”,“E”,“0”,“0”]]链接:https://leetcode-cn.com/problems/bomb-enemy。由于炸弹的威力不足以穿透墙体,炸弹只能炸到同一行和同一列没被墙体挡住的敌人。假如在位置 (1,1) 放置炸弹的话,可以炸到 3 个敌人。请你计算一个炸弹最多能炸多少敌人。‘0’(数字 0)表示一个空位。你只能把炸弹放在一个空的格子里。来源:力扣(LeetCode)‘E’ 表示一个敌人。
2022-12-28 23:56:39
11
原创 力扣(LeetCode)360. 有序转化数组(2022.12.27)
给你一个已经 排好序 的整数数组 nums 和整数 a、b、c。对于数组中的每一个数 x,计算函数值 f(x) = ax。输入: nums = [-4,-2,2,4], a = -1, b = 3, c = 5。要注意,返回的这个数组必须按照 升序排列,并且我们所期望的解法时间复杂度为 O(n)。输入: nums = [-4,-2,2,4], a = 1, b = 3, c = 5。+ bx + c,请将函数值产生的数组返回。输出: [-23,-5,1,7]输出: [3,9,15,33]
2022-12-27 19:58:42
13
网络安全——栈溢出漏洞逆向分析
2022-05-14
AES算法逆向分析.docx
2022-05-14
计算机网络实验报告-应用层协议消息的捕获和解析
2021-11-09
ColorTest.java
2021-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人