01 2022 档案

摘要:两位玩家分别扮演猫和老鼠,在一张 无向 图上进行游戏,两人轮流行动。 图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。 老鼠从节点 1 开始,第一个出发;猫从节点 2 开始,第二个出发。在节点 0 处有一个洞。 在每个玩家的行动中,他们 必须 沿着图中与所 阅读全文
posted @ 2022-01-27 16:35 Tianyiya 阅读(39) 评论(0) 推荐(0) 编辑
摘要:元素的 频数 是该元素在一个数组中出现的次数。 给你一个整数数组 nums 和一个整数 k 。在一步操作中,你可以选择 nums 的一个下标,并将该下标对应元素的值增加 1 。 执行最多 k 次操作后,返回数组中最高频元素的 最大可能频数 。 来源:力扣(LeetCode) 链接:https://l 阅读全文
posted @ 2022-01-26 17:06 Tianyiya 阅读(35) 评论(0) 推荐(0) 编辑
摘要:集团里有 n 名员工,他们可以完成各种各样的工作创造利润。 第 i 种工作会产生 profit[i] 的利润,它要求 group[i] 名成员共同参与。如果成员参与了其中一项工作,就不能参与另一项工作。 工作的任何至少产生 minProfit 利润的子集称为 盈利计划 。并且工作的成员总数最多为 n 阅读全文
posted @ 2022-01-26 16:43 Tianyiya 阅读(19) 评论(0) 推荐(0) 编辑
摘要:有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列。 每次可以在从起始到结束的任意位置打印新字符,并且会覆盖掉原来已有的字符。 给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。 来源:力扣(LeetCode) 链接:https://leetco 阅读全文
posted @ 2022-01-26 16:02 Tianyiya 阅读(147) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 jobs ,其中 jobs[i] 是完成第 i 项工作要花费的时间。 请你将这些工作分配给 k 位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的 工作时间 是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的 最大工作时间 得以 阅读全文
posted @ 2022-01-26 15:54 Tianyiya 阅读(51) 评论(0) 推荐(0) 编辑
摘要:给定一个排序的整数数组 nums ,其中元素的范围在 闭区间 [lower, upper] 当中,返回不包含在数组中的缺失区间。 示例: 输入: nums = [0, 1, 3, 50, 75], lower = 0 和 upper = 99, 输出: ["2", "4->49", "51->74" 阅读全文
posted @ 2022-01-26 11:37 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:森林中有未知数量的兔子。提问其中若干只兔子 "还有多少只兔子与你(指被提问的兔子)颜色相同?" ,将答案收集到一个整数数组 answers 中,其中 answers[i] 是第 i 只兔子的回答。 给你数组 answers ,返回森林中兔子的最少数量。 来源:力扣(LeetCode) 链接:http 阅读全文
posted @ 2022-01-26 11:00 Tianyiya 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums 和一个整数 k ,找出三个长度为 k 、互不重叠、且全部数字和(3 * k 项)最大的子数组,并返回这三个子数组。 以下标的数组形式返回结果,数组中的每一项分别指示每个子数组的起始位置(下标从 0 开始)。如果有多个结果,返回字典序最小的一个。 来源:力扣(LeetCod 阅读全文
posted @ 2022-01-26 10:30 Tianyiya 阅读(14) 评论(0) 推荐(0) 编辑
摘要:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/proble 阅读全文
posted @ 2022-01-25 17:16 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #。 _9_ / \ 3 2 / \ / \ 4 1 # 6 / \ / \ / \ # # # # # # 例如,上面的二叉树可以被序列化为字符串 "9 阅读全文
posted @ 2022-01-25 16:47 Tianyiya 阅读(32) 评论(0) 推荐(0) 编辑
摘要:给你一个数组 routes ,表示一系列公交线路,其中每个 routes[i] 表示一条公交线路,第 i 辆公交车将会在上面循环行驶。 例如,路线 routes[0] = [1, 5, 7] 表示第 0 辆公交车会一直按序列 1 → 5 → 7 → 1 → 5 → 7 → 1 → ... 这样的车站 阅读全文
posted @ 2022-01-25 16:24 Tianyiya 阅读(48) 评论(0) 推荐(0) 编辑
摘要:在仅包含 0 和 1 的数组 A 中,一次 K 位翻转包括选择一个长度为 K 的(连续)子数组,同时将子数组中的每个 0 更改为 1,而每个 1 更改为 0。 返回所需的 K 位翻转的最小次数,以便数组没有值为 0 的元素。如果不可能,返回 -1。 来源:力扣(LeetCode) 链接:https: 阅读全文
posted @ 2022-01-25 15:33 Tianyiya 阅读(22) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 arr 和一个整数值 target 。 请你在 arr 中找 两个互不重叠的子数组 且它们的和都等于 target 。可能会有多种方案,请你返回满足要求的两个子数组长度和的 最小值 。 请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 -1 。 来源:力扣(Leet 阅读全文
posted @ 2022-01-25 14:57 Tianyiya 阅读(40) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,和一个表示限制的整数 limit,请你返回最长连续子数组的长度,该子数组中的任意两个元素之间的绝对差必须小于或者等于 limit 。 如果不存在满足条件的子数组,则返回 0 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pro 阅读全文
posted @ 2022-01-25 14:02 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标: i + 1 满足:i + 1 < arr.length i - 1 满足:i - 1 >= 0 j 满足:arr[i] == arr[j] 且 i != j 请你返回到达数组最后一个元素的 阅读全文
posted @ 2022-01-25 11:34 Tianyiya 阅读(38) 评论(0) 推荐(0) 编辑
摘要:请你实现三个 API append,addAll 和 multAll 来实现奇妙序列。 请实现 Fancy 类 : Fancy() 初始化一个空序列对象。 void append(val) 将整数 val 添加在序列末尾。 void addAll(inc) 将所有序列中的现有数值都增加 inc 。 阅读全文
posted @ 2022-01-25 10:58 Tianyiya 阅读(50) 评论(0) 推荐(0) 编辑
摘要:给定一个已排序的正整数数组 nums,和一个正整数 n 。从 [1, n] 区间内选取任意个数字补充到 nums 中,使得 [1, n] 区间内的任何数字都可以用 nums 中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。 来源:力扣(LeetCode) 链接:https://l 阅读全文
posted @ 2022-01-24 23:50 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:有一棵特殊的苹果树,一连 n 天,每天都可以长出若干个苹果。在第 i 天,树上会长出 apples[i] 个苹果,这些苹果将会在 days[i] 天后(也就是说,第 i + days[i] 天时)腐烂,变得无法食用。也可能有那么几天,树上不会长出新的苹果,此时用 apples[i] == 0 且 d 阅读全文
posted @ 2022-01-24 23:25 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x ⇐ y 时,我们称这个整数是单调递增的。) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/prob 阅读全文
posted @ 2022-01-24 22:47 Tianyiya 阅读(52) 评论(0) 推荐(0) 编辑
摘要:给你二叉树的根节点 root 和一个整数 distance 。 如果二叉树中两个 叶 节点之间的 最短路径长度 小于或者等于 distance ,那它们就可以构成一组 好叶子节点对 。 返回树中 好叶子节点对的数量 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.c 阅读全文
posted @ 2022-01-24 18:16 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。 返回森林中的每棵树。你可以按任意顺序组织答案。 来源:力扣(LeetCode) 链接:https://leetcode-c 阅读全文
posted @ 2022-01-24 17:32 Tianyiya 阅读(34) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums 和一个正整数 k,请你判断是否可以把这个数组划分成一些由 k 个连续数字组成的集合。 如果可以,请返回 true;否则,返回 false。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/divide-array-i 阅读全文
posted @ 2022-01-24 17:14 Tianyiya 阅读(48) 评论(0) 推荐(0) 编辑
摘要:传送带上的包裹必须在 days 天内从一个港口运送到另一个港口。 传送带上的第 i 个包裹的重量为 weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。 返回能在 days 天内将传送带上的所有包裹送达的船的最低运载能力 阅读全文
posted @ 2022-01-24 16:54 Tianyiya 阅读(48) 评论(0) 推荐(0) 编辑
摘要:给你一个 下标从 0 开始 的正整数数组 w ,其中 w[i] 代表第 i 个下标的权重。 请你实现一个函数 pickIndex ,它可以 随机地 从范围 [0, w.length - 1] 内(含 0 和 w.length - 1)选出并返回一个下标。选取下标 i 的 概率 为 w[i] / su 阅读全文
posted @ 2022-01-24 16:40 Tianyiya 阅读(48) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sum-of-square-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载 阅读全文
posted @ 2022-01-24 16:24 Tianyiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要:如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的 阅读全文
posted @ 2022-01-24 16:21 Tianyiya 阅读(15) 评论(0) 推荐(0) 编辑
摘要:计算给定二叉树的所有左叶子之和。 示例: 3 / \ 9 20 / \ 15 7 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/sum-of-left-leaves 著作权归 阅读全文
posted @ 2022-01-24 15:58 Tianyiya 阅读(5) 评论(0) 推荐(0) 编辑
摘要:给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-ar 阅读全文
posted @ 2022-01-24 15:49 Tianyiya 阅读(52) 评论(0) 推荐(0) 编辑
摘要:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意: 十六进制中所有字母(a-f)都必须是小写。 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符'0'来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的 阅读全文
posted @ 2022-01-24 15:41 Tianyiya 阅读(77) 评论(0) 推荐(0) 编辑
摘要:小扣在秋日市集选择了一家早餐摊位,一维整型数组 staple 中记录了每种主食的价格,一维整型数组 drinks 中记录了每种饮料的价格。小扣的计划选择一份主食和一款饮料,且花费不超过 x 元。请返回小扣共有多少种购买方案。 注意:答案需要以 1e9 + 7 (1000000007) 为底取模,如: 阅读全文
posted @ 2022-01-24 15:33 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:小扣出去秋游,途中收集了一些红叶和黄叶,他利用这些叶子初步整理了一份秋叶收藏集 leaves, 字符串 leaves 仅包含小写字符 r 和 y, 其中字符 r 表示一片红叶,字符 y 表示一片黄叶。 出于美观整齐的考虑,小扣想要将收藏集中树叶的排列调整成「红、黄、红」三部分。每部分树叶数量可以不相 阅读全文
posted @ 2022-01-24 15:17 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 arr 和一个整数 k。 首先,我们要对该数组进行修改,即把原数组 arr 重复 k 次。 举个例子,如果 arr = [1, 2] 且 k = 3,那么修改后的数组就是 [1, 2, 1, 2, 1, 2]。 然后,请你返回修改后的数组中的最大的子数组之和。 注意,子数组长度可以 阅读全文
posted @ 2022-01-24 14:30 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/non-overlapping-intervals 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 im 阅读全文
posted @ 2022-01-24 12:28 Tianyiya 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/repeated-substring-pattern 著作权归领扣网络所 阅读全文
posted @ 2022-01-24 10:46 Tianyiya 阅读(24) 评论(0) 推荐(0) 编辑
摘要:给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/co 阅读全文
posted @ 2022-01-24 10:27 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。 逆序对的定义如下:对于数组的第i个和第 j个元素,如果满i < j且 a[i] > a[j],则其为一个逆序对;否则不是。 由于答案可能很大,只需要返回 答案 mod 109 + 7 的值。 阅读全文
posted @ 2022-01-22 16:57 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 阅读全文
posted @ 2022-01-22 13:05 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给定一个二维网格 grid。 "." 代表一个空房间, "#" 代表一堵墙, "@" 是起点,("a", "b", ...)代表钥匙,("A", "B", ...)代表锁。 我们从起点开始出发,一次移动是指向四个基本方向之一行走一个单位空间。我们不能在网格外面行走,也无法穿过一堵墙。如果途经一个钥匙 阅读全文
posted @ 2022-01-22 12:59 Tianyiya 阅读(19) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s,统计并返回具有相同数量 0 和 1 的非空(连续)子字符串的数量,并且这些子字符串中的所有 0 和所有 1 都是成组连续的。 重复出现(不同位置)的子串也要统计它们出现的次数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems 阅读全文
posted @ 2022-01-22 12:42 Tianyiya 阅读(24) 评论(0) 推荐(0) 编辑
摘要:字符串有三种编辑操作:插入一个字符、删除一个字符或者替换一个字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/one-away-lcci 著作权归领扣网络所有。商业转载 阅读全文
posted @ 2022-01-22 12:16 Tianyiya 阅读(37) 评论(0) 推荐(0) 编辑
摘要:给你一个数组 events,其中 events[i] = [startDayi, endDayi] ,表示会议 i 开始于 startDayi ,结束于 endDayi 。 你可以在满足 startDayi <= d ⇐ endDayi 中的任意一天 d 参加会议 i 。注意,一天只能参加一个会议。 阅读全文
posted @ 2022-01-22 12:15 Tianyiya 阅读(42) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 来源:力 阅读全文
posted @ 2022-01-21 17:32 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph ,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上,对于 graph[u] 中的每个 v ,都存在一条位于节点 u 和节点 v 之间的无向边。 阅读全文
posted @ 2022-01-21 16:09 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定一个正整数 n,找出小于或等于 n 的非负整数中,其二进制表示不包含 连续的1 的个数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/non-negative-integers-without-consecutive-ones 著作权归 阅读全文
posted @ 2022-01-21 15:28 Tianyiya 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。 来源:力扣(LeetCode) 链接:htt 阅读全文
posted @ 2022-01-21 13:37 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等的字母,并删除它们,使被删去的字符串的左侧和右侧连在一起。 你需要对 s 重复进行无限次这样的删除操作,直到无法继续为止。 在执行完所有删除操作后,返回最终得到的字符串。 本题答案保证唯一。 来源:力扣(LeetCode 阅读全文
posted @ 2022-01-21 12:29 Tianyiya 阅读(45) 评论(0) 推荐(0) 编辑
摘要:给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵,返回任意一个均可。 注意:本题相对书上 阅读全文
posted @ 2022-01-21 10:54 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:给你两个整数数组 persons 和 times 。在选举中,第 i 张票是在时刻为 times[i] 时投给候选人 persons[i] 的。 对于发生在时刻 t 的每个查询,需要找出在 t 时刻在选举中领先的候选人的编号。 在 t 时刻投出的选票也将被计入我们的查询之中。在平局的情况下,最近获得 阅读全文
posted @ 2022-01-21 10:36 Tianyiya 阅读(36) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数用来匹配包含'. '和''的正则表达式。模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。 来源:力扣( 阅读全文
posted @ 2022-01-21 10:29 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/find-k-th-smallest-pair-distance 著作权归 阅读全文
posted @ 2022-01-20 17:50 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:让我们一起来玩扫雷游戏! 给你一个大小为 m x n 二维字符矩阵 board ,表示扫雷游戏的盘面,其中: 'M' 代表一个 未挖出的 地雷, 'E' 代表一个 未挖出的 空方块, 'B' 代表没有相邻(上,下,左,右,和所有4个对角线)地雷的 已挖出的 空白方块, 数字('1' 到 '8')表示 阅读全文
posted @ 2022-01-20 16:53 Tianyiya 阅读(56) 评论(0) 推荐(0) 编辑
摘要:颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,编译器使用二进制补码记法来 阅读全文
posted @ 2022-01-20 16:38 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:在一个小城市里,有 m 个房子排成一排,你需要给每个房子涂上 n 种颜色之一(颜色编号为 1 到 n )。有的房子去年夏天已经涂过颜色了,所以这些房子不可以被重新涂色。 我们将连续相同颜色尽可能多的房子称为一个街区。(比方说 houses = [1,2,2,3,3,2,1,1] ,它包含 5 个街区 阅读全文
posted @ 2022-01-20 16:19 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。 设计一个算法来序列化和反序列化 二叉搜索树 。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串 阅读全文
posted @ 2022-01-20 15:01 Tianyiya 阅读(20) 评论(0) 推荐(0) 编辑
摘要:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 来源:力 阅读全文
posted @ 2022-01-20 14:38 Tianyiya 阅读(22) 评论(0) 推荐(0) 编辑
摘要:给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。 要求尽可能均匀分配 阅读全文
posted @ 2022-01-20 14:28 Tianyiya 阅读(80) 评论(0) 推荐(0) 编辑
摘要:输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof 著作权归领扣网 阅读全文
posted @ 2022-01-20 11:29 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr 阅读全文
posted @ 2022-01-20 10:55 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/subarray-sums-divisible-by-k 著作权归领扣网络所有。商业转载请联系官方授权,非商业转 阅读全文
posted @ 2022-01-20 10:26 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:电子游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串 key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。 最初,ring 阅读全文
posted @ 2022-01-20 09:53 Tianyiya 阅读(174) 评论(0) 推荐(0) 编辑
摘要:给定一组 互不相同 的单词, 找出所有 不同 的索引对 (i, j),使得列表中的两个单词, words[i] + words[j] ,可拼接成回文串。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-pairs 著作权归 阅读全文
posted @ 2022-01-19 22:55 Tianyiya 阅读(43) 评论(0) 推荐(0) 编辑
摘要:求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/qiu-12n-lcof 著作权归领扣网络所有。商业 阅读全文
posted @ 2022-01-19 18:32 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:请完成一个函数,输入一个二叉树,该函数输出它的镜像。 例如输入: 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出: 4 / \ 7 2 / \ / \ 9 6 3 1 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha- 阅读全文
posted @ 2022-01-19 18:29 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s,计算 s 的 不同非空子序列 的个数。因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除)字符但不改变剩余字符相对位置的一个新字符串。 例如,"ace" 是 "abcde" 的一个子序列,但 "aec" 不是。 阅读全文
posted @ 2022-01-19 18:26 Tianyiya 阅读(44) 评论(0) 推荐(0) 编辑
摘要:给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements 著 阅读全文
posted @ 2022-01-19 18:08 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。 如果节点只有一个子节点,那么保证该子节点为左子节点。 给出遍历输出 阅读全文
posted @ 2022-01-19 17:53 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/count-square-submatrices-with-all-on 阅读全文
posted @ 2022-01-19 17:32 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:超级丑数 是一个正整数,并满足其所有质因数都出现在质数数组 primes 中。 给你一个整数 n 和一个整数数组 primes ,返回第 n 个 超级丑数 。 题目数据保证第 n 个 超级丑数 在 32-bit 带符号整数范围内。 来源:力扣(LeetCode) 链接:https://leetcod 阅读全文
posted @ 2022-01-19 17:17 Tianyiya 阅读(32) 评论(0) 推荐(0) 编辑
摘要:由空地(用 0 表示)和墙(用 1 表示)组成的迷宫 maze 中有一个球。球可以途经空地向 上、下、左、右 四个方向滚动,且在遇到墙壁前不会停止滚动。当球停下时,可以选择向下一个方向滚动。 给你一个大小为 m x n 的迷宫 maze ,以及球的初始位置 start 和目的地 destinatio 阅读全文
posted @ 2022-01-19 17:09 Tianyiya 阅读(57) 评论(0) 推荐(0) 编辑
摘要:写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假 阅读全文
posted @ 2022-01-19 15:52 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为 '0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。 锁的初始数字为 '000 阅读全文
posted @ 2022-01-19 15:41 Tianyiya 阅读(80) 评论(0) 推荐(0) 编辑
摘要:给你一个由 '('、')' 和小写字母组成的字符串 s。 你需要从字符串中删除最少数目的 '(' 或者 ')' (可以删除任意位置的括号),使得剩下的「括号字符串」有效。 请返回任意一个合法字符串。 有效「括号字符串」应当符合以下 任意一条 要求: 空字符串或只包含小写字母的字符串 可以被写作 AB 阅读全文
posted @ 2022-01-19 15:19 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:实现一个基本的计算器来计算简单的表达式字符串。 表达式字符串只包含非负整数,算符 +、-、*、/ ,左括号 ( 和右括号 ) 。整数除法需要 向下截断 。 你可以假定给定的表达式总是有效的。所有的中间结果的范围为 [-231, 231 - 1] 。 来源:力扣(LeetCode) 链接:https: 阅读全文
posted @ 2022-01-19 14:58 Tianyiya 阅读(118) 评论(0) 推荐(0) 编辑
摘要:我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字。 你来猜我选了哪个数字。 如果你猜到正确的数字,就会 赢得游戏 。 如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。 每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如 阅读全文
posted @ 2022-01-19 14:40 Tianyiya 阅读(62) 评论(0) 推荐(0) 编辑
摘要:给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k ⇐ m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。 求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。 说明 阅读全文
posted @ 2022-01-19 14:19 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。 给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 阅读全文
posted @ 2022-01-19 10:47 Tianyiya 阅读(19) 评论(0) 推荐(0) 编辑
摘要:设计一种算法,打印 N 皇后在 N × N 棋盘上的各种摆法,其中每个皇后都不同行、不同列,也不在对角线上。这里的“对角线”指的是所有的对角线,不只是平分整个棋盘的那两条对角线。 注意:本题相对原题做了扩展 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pro 阅读全文
posted @ 2022-01-18 23:23 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/increasing-order-searc 阅读全文
posted @ 2022-01-18 22:46 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:为了给刷题的同学一些奖励,力扣团队引入了一个弹簧游戏机。游戏机由 N 个特殊弹簧排成一排,编号为 0 到 N-1。初始有一个小球在编号 0 的弹簧处。若小球在编号为 i 的弹簧处,通过按动弹簧,可以选择把小球向右弹射 jump[i] 的距离,或者向左弹射到任意左侧弹簧的位置。也就是说,在编号为 i 阅读全文
posted @ 2022-01-18 22:37 Tianyiya 阅读(56) 评论(0) 推荐(0) 编辑
摘要:给出两个长度相同的字符串,分别是 str1 和 str2。请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化后变成字符串 str2。 每一次转化时,将会一次性将 str1 中出现的 所有 相同字母变成其他 任何 小写英文字母(见示例)。 只有在字符串 str1 能够通过上述方式顺利转化为字 阅读全文
posted @ 2022-01-18 17:52 Tianyiya 阅读(56) 评论(0) 推荐(0) 编辑
摘要:给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。 如果数组元素个数小于 2,则返回 0。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-gap 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处 阅读全文
posted @ 2022-01-18 17:23 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-duplicate-node-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 哈希表 i 阅读全文
posted @ 2022-01-18 16:43 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近 10 条推文。 实现 Twitter 类: Twitter() 初始化简易版推特对象 void postTweet(int userId, int tweetId) 根据给定的 阅读全文
posted @ 2022-01-18 16:34 Tianyiya 阅读(75) 评论(0) 推荐(0) 编辑
摘要:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/partition-labels 著作权归领扣网络所有。 阅读全文
posted @ 2022-01-18 15:29 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。 注意:字符串长度 和 k 不会超过 104。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/probl 阅读全文
posted @ 2022-01-18 15:07 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。 实现扁平迭代器类 NestedIterator : NestedIterator(List nestedL 阅读全文
posted @ 2022-01-18 10:56 Tianyiya 阅读(53) 评论(0) 推荐(0) 编辑
摘要:这里有 n 门不同的在线课程,按从 1 到 n 编号。给你一个数组 courses ,其中 courses[i] = [durationi, lastDayi] 表示第 i 门课将会 持续 上 durationi 天课,并且必须在不晚于 lastDayi 的时候完成。 你的学期从第 1 天开始。且不 阅读全文
posted @ 2022-01-18 10:26 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间 阅读全文
posted @ 2022-01-18 09:57 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof 著作权归领扣网络所有。商业转载请联系官方 阅读全文
posted @ 2022-01-18 09:44 Tianyiya 阅读(14) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。 数值(按顺序)可以分成以下几个部分: 若干空格 一个 小数 或者 整数 (可选)一个 'e' 或 'E' ,后面跟着一个 整数 若干空格 小数(按顺序)可以分成以下几个部分: (可选)一个符号字符('+' 或 '-') 下述格式之一: 至 阅读全文
posted @ 2022-01-17 23:31 Tianyiya 阅读(20) 评论(0) 推荐(0) 编辑
摘要:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]k[1]...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最 阅读全文
posted @ 2022-01-17 23:12 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:你打算利用空闲时间来做兼职工作赚些零花钱。 这里有 n 份兼职工作,每份工作预计从 startTime[i] 开始到 endTime[i] 结束,报酬为 profit[i]。 给你一份兼职工作表,包含开始时间 startTime,结束时间 endTime 和预计报酬 profit 三个数组,请你计算 阅读全文
posted @ 2022-01-17 22:42 Tianyiya 阅读(41) 评论(0) 推荐(0) 编辑
摘要:有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。 嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。 来源:力扣(LeetCode) 链接:http 阅读全文
posted @ 2022-01-17 22:04 Tianyiya 阅读(35) 评论(0) 推荐(0) 编辑
摘要:给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载 阅读全文
posted @ 2022-01-17 21:53 Tianyiya 阅读(20) 评论(0) 推荐(0) 编辑
摘要:在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示. 一次移动定义为选择 0 与一个相邻的数字(上下左右)进行交换. 最终当板 board 的结果是 [[1,2,3],[4,5,0]] 谜板被解开。 给出一个谜板的初始状态,返回最少可以通过多 阅读全文
posted @ 2022-01-17 18:31 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。 请写一个函数,求任意第n位对应的数字。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/probl 阅读全文
posted @ 2022-01-17 17:23 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:偶数 个人站成一个圆,总人数为 num_people 。每个人与除自己外的一个人握手,所以总共会有 num_people / 2 次握手。 将握手的人之间连线,请你返回连线不会相交的握手方案数。 由于结果可能会很大,请你返回答案 模 10^9+7 后的结果。 来源:力扣(LeetCode) 链接:h 阅读全文
posted @ 2022-01-17 16:17 Tianyiya 阅读(49) 评论(0) 推荐(0) 编辑
摘要:给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上、下、左、右四个方向相连的 1 形成。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ 阅读全文
posted @ 2022-01-17 16:04 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。 给你 n 个项目。对于每个 阅读全文
posted @ 2022-01-17 15:46 Tianyiya 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过删除 s 中的某些字符得到。 如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。 来源:力扣(LeetCode) 链接:https://l 阅读全文
posted @ 2022-01-17 15:17 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。矩形的上下边平行于 x 轴,左右边平行于 y 轴。 如果相交的面积为 正 ,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。 给出两个矩形 rec1 阅读全文
posted @ 2022-01-17 14:55 Tianyiya 阅读(46) 评论(0) 推荐(0) 编辑
摘要:有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水。它们从外观看起来都一样。为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断。不幸的是,你只有 minutesToTest 分钟时间来确定哪桶液体是有毒的。 喂猪的规则如下: 选择若干活猪进行喂养 可以允许小 阅读全文
posted @ 2022-01-17 12:19 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/p 阅读全文
posted @ 2022-01-17 10:53 Tianyiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要:输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 来源:力扣(LeetCode) 链接:https://leetcode-c 阅读全文
posted @ 2022-01-17 10:24 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给你一个无序的数组 nums, 将该数字 原地 重排后使得 nums[0] ⇐ nums[1] >= nums[2] ⇐ nums[3]...。 示例: 输入: nums = [3,5,2,1,6,4] 输出: 一个可能的解答是 [3,5,1,6,2,4] 来源:力扣(LeetCode) 链接:ht 阅读全文
posted @ 2022-01-16 15:40 Tianyiya 阅读(51) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/ 阅读全文
posted @ 2022-01-16 15:30 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/ 阅读全文
posted @ 2022-01-16 07:26 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/palindrome-partitioning-ii 著作权归领扣网络所有。商业转载请联系官 阅读全文
posted @ 2022-01-16 01:48 Tianyiya 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/smallest-difference-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非 阅读全文
posted @ 2022-01-16 01:29 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6, 阅读全文
posted @ 2022-01-16 01:24 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:请实现两个函数,分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。 提示:输入输出格式与 LeetCode 目前使用的方式一致,详情请 阅读全文
posted @ 2022-01-16 01:12 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 阅读全文
posted @ 2022-01-15 22:19 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。 来源:力扣(LeetCode) 链接:https://leetcod 阅读全文
posted @ 2022-01-15 22:13 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足: answer[i] % answer[j] == 0 ,或 answer[j] % answer[i] == 0 如果存在 阅读全文
posted @ 2022-01-15 21:52 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,4] 若旋转 7 次,则可以得到 [0,1,4,4,5,6,7] 注意,数 阅读全文
posted @ 2022-01-15 21:31 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/volume-of-histogram-lcci 著作权归领扣网络所有。商业转载请联系官方 阅读全文
posted @ 2022-01-15 15:53 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/que-shi-de-shu 阅读全文
posted @ 2022-01-15 15:26 Tianyiya 阅读(18) 评论(0) 推荐(0) 编辑
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1 阅读全文
posted @ 2022-01-15 14:53 Tianyiya 阅读(8) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], 阅读全文
posted @ 2022-01-15 12:07 Tianyiya 阅读(24) 评论(0) 推荐(0) 编辑
摘要:汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。 假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃 阅读全文
posted @ 2022-01-15 11:57 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]k[1]...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最 阅读全文
posted @ 2022-01-15 11:10 Tianyiya 阅读(9) 评论(0) 推荐(0) 编辑
摘要:在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof 阅读全文
posted @ 2022-01-14 23:13 Tianyiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof 著作权归 阅读全文
posted @ 2022-01-14 23:08 Tianyiya 阅读(20) 评论(0) 推荐(0) 编辑
摘要:给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rotate-matrix-lcci 著作权归领扣网 阅读全文
posted @ 2022-01-14 22:49 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧 阅读全文
posted @ 2022-01-14 22:27 Tianyiya 阅读(83) 评论(0) 推荐(0) 编辑
摘要:给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 来 阅读全文
posted @ 2022-01-14 17:18 Tianyiya 阅读(19) 评论(0) 推荐(0) 编辑
摘要:交换 定义为选中一个数组中的两个 互不相同 的位置并交换二者的值。 环形 数组是一个数组,可以认为 第一个 元素和 最后一个 元素 相邻 。 给你一个 二进制环形 数组 nums ,返回在 任意位置 将数组中的所有 1 聚集在一起需要的最少交换次数。 来源:力扣(LeetCode) 链接:https 阅读全文
posted @ 2022-01-14 16:37 Tianyiya 阅读(75) 评论(0) 推荐(0) 编辑
摘要:编写一个方法,计算从 0 到 n (含 n) 中数字 2 出现的次数。 示例: 输入: 25 输出: 9 解释: (2, 12, 20, 21, 22, 23, 24, 25)(注意 22 应该算作两次) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/prob 阅读全文
posted @ 2022-01-14 15:51 Tianyiya 阅读(45) 评论(0) 推荐(0) 编辑
摘要:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/fu 阅读全文
posted @ 2022-01-14 14:16 Tianyiya 阅读(23) 评论(0) 推荐(0) 编辑
摘要:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1,9, 阅读全文
posted @ 2022-01-14 13:57 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给定一个整数 n ,返回 n! 结果中尾随零的数量。 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/factorial-trailing-zero 阅读全文
posted @ 2022-01-14 13:49 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你一个 m * n 的网格,其中每个单元格不是 0(空)就是 1(障碍物)。每一步,您都可以在空白单元格中上、下、左、右移动。 如果您 最多 可以消除 k 个障碍物,请找出从左上角 (0, 0) 到右下角 (m-1, n-1) 的最短路径,并返回通过该路径所需的步数。如果找不到这样的路径,则返回 阅读全文
posted @ 2022-01-14 12:22 Tianyiya 阅读(121) 评论(0) 推荐(0) 编辑
摘要:请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 -1 示例 1: 输入: ["MaxQueue","push_b 阅读全文
posted @ 2022-01-14 10:52 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 来源: 阅读全文
posted @ 2022-01-13 23:29 Tianyiya 阅读(22) 评论(0) 推荐(0) 编辑
摘要:输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k = 1 输 阅读全文
posted @ 2022-01-13 23:20 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加 阅读全文
posted @ 2022-01-13 22:56 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:给你一棵二叉树,它的根为 root 。请你删除 1 条边,使二叉树分裂成两棵子树,且它们子树和的乘积尽可能大。 由于答案可能会很大,请你将结果对 10^9 + 7 取模后再返回。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum- 阅读全文
posted @ 2022-01-13 18:38 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/proble 阅读全文
posted @ 2022-01-13 17:44 Tianyiya 阅读(61) 评论(0) 推荐(0) 编辑
摘要:在一个由 'L' , 'R' 和 'X' 三个字符组成的字符串(例如"RXXLRXRXL")中进行移动操作。一次移动操作指用一个"LX"替换一个"XL",或者用一个"XR"替换一个"RX"。现给定起始字符串start和结束字符串end,请编写代码,当且仅当存在一系列移动操作使得start可以转换成e 阅读全文
posted @ 2022-01-13 17:28 Tianyiya 阅读(39) 评论(0) 推荐(0) 编辑
摘要:给一非空的单词列表,返回前 k 个出现次数最多的单词。 返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率,按字母顺序排序。 示例 1: 输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2 输出: ["i", " 阅读全文
posted @ 2022-01-13 15:02 Tianyiya 阅读(36) 评论(0) 推荐(0) 编辑
摘要:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言,其左右子结点分别位于 (row + 1, col - 1) 和 (row + 1, col + 1) 。树的根结点位于 (0, 0) 。 二叉树的 垂序遍历 从最左边的列开始直到 阅读全文
posted @ 2022-01-13 11:01 Tianyiya 阅读(19) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums 以及两个整数 lower 和 upper 。求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 。 区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。 阅读全文
posted @ 2022-01-13 10:34 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:在 x 轴上有一个一维的花园。花园长度为 n,从点 0 开始,到点 n 结束。 花园里总共有 n + 1 个水龙头,分别位于 [0, 1, ..., n] 。 给你一个整数 n 和一个长度为 n + 1 的整数数组 ranges ,其中 ranges[i] (下标从 0 开始)表示:如果打开点 i  阅读全文
posted @ 2022-01-12 23:29 Tianyiya 阅读(51) 评论(0) 推荐(0) 编辑
摘要:给出矩阵 matrix 和目标值 target,返回元素总和等于目标值的非空子矩阵的数量。 子矩阵 x1, y1, x2, y2 是满足 x1 ⇐ x ⇐ x2 且 y1 ⇐ y ⇐ y2 的所有单元 matrix[x][y] 的集合。 如果 (x1, y1, x2, y2) 和 (x1', y1' 阅读全文
posted @ 2022-01-12 22:42 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 来源:力扣(LeetCode) 链接:ht 阅读全文
posted @ 2022-01-12 22:20 Tianyiya 阅读(30) 评论(0) 推荐(0) 编辑
摘要:给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-palindrome-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 class So 阅读全文
posted @ 2022-01-12 22:11 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。 然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却 阅读全文
posted @ 2022-01-12 21:57 Tianyiya 阅读(34) 评论(0) 推荐(0) 编辑
摘要:珂珂喜欢吃香蕉。这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 H 小时后回来。 珂珂可以决定她吃香蕉的速度 K (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 K 根。如果这堆香蕉少于 K 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉 阅读全文
posted @ 2022-01-12 18:06 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给定一个只包含三种字符的字符串:( ,) 和 *,写一个函数来检验这个字符串是否为有效字符串。有效字符串具有如下规则: 任何左括号 ( 必须有相应的右括号 )。 任何右括号 ) 必须有相应的左括号 ( 。 左括号 ( 必须在对应的右括号之前 )。 * 可以被视为单个右括号 ) ,或单个左括号 ( , 阅读全文
posted @ 2022-01-12 17:54 Tianyiya 阅读(35) 评论(0) 推荐(0) 编辑
摘要:给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,请你判断二者是否相等。# 代表退格字符。 如果相等,返回 true ;否则,返回 false 。 注意:如果对空文本输入退格字符,文本继续为空。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/ 阅读全文
posted @ 2022-01-12 16:54 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:中位数是有序序列最中间的那个数。如果序列的长度是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。 例如: [2,3,4],中位数是 3 [2,3],中位数是 (2 + 3) / 2 = 2.5 给你一个数组 nums,有一个长度为 k 的窗口从最左端滑动到最右端。窗口中有 k 个数,每次 阅读全文
posted @ 2022-01-12 16:22 Tianyiya 阅读(35) 评论(0) 推荐(0) 编辑
摘要:给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 来源:力扣(LeetCode) 链接:https://leetco 阅读全文
posted @ 2022-01-12 15:25 Tianyiya 阅读(62) 评论(0) 推荐(0) 编辑
摘要:把符合下列属性的数组 arr 称为 山脉数组 : arr.length >= 3 存在下标 i(0 < i < arr.length - 1),满足 arr[0] < arr[1] < ... < arr[i - 1] < arr[i] arr[i] > arr[i + 1] > ... > arr 阅读全文
posted @ 2022-01-12 14:14 Tianyiya 阅读(64) 评论(0) 推荐(0) 编辑
摘要:给你一棵指定的二叉树的根节点 root ,请你计算其中 最长连续序列路径 的长度。 最长连续序列路径 是依次递增 1 的路径。该路径,可以是从某个初始节点到树中任意节点,通过「父 - 子」关系连接而产生的任意路径。且必须从父节点到子节点,反过来是不可以的。 来源:力扣(LeetCode) 链接:ht 阅读全文
posted @ 2022-01-12 13:57 Tianyiya 阅读(144) 评论(0) 推荐(0) 编辑
摘要:有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。 现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一 阅读全文
posted @ 2022-01-12 11:11 Tianyiya 阅读(38) 评论(0) 推荐(0) 编辑
摘要:有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处。 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外)。 给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 次操作以后,指针仍然指向索引 0 处的方案数。 由 阅读全文
posted @ 2022-01-11 23:05 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 来源:力扣(LeetCod 阅读全文
posted @ 2022-01-11 22:54 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s ,考虑其所有 重复子串 :即,s 的连续子串,在 s 中出现 2 次或更多次。这些出现之间可能存在重叠。 返回 任意一个 具有最长长度的重复子串。如果 s 不含重复子串,那么答案为 "" 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/p 阅读全文
posted @ 2022-01-11 22:33 Tianyiya 阅读(77) 评论(0) 推荐(0) 编辑
摘要:给出一个以头节点 head 作为第一个节点的链表。链表中的节点分别编号为:node_1, node_2, node_3, ... 。 每个节点都可能有下一个更大值(next larger value):对于 node_i,如果其 next_larger(node_i) 是 node_j.val,那么 阅读全文
posted @ 2022-01-11 20:25 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定两个由一些 闭区间 组成的列表,firstList 和 secondList ,其中 firstList[i] = [starti, endi] 而 secondList[j] = [startj, endj] 。每个区间列表都是成对 不相交 的,并且 已经排序 。 返回这 两个区间列表的交集 阅读全文
posted @ 2022-01-11 18:32 Tianyiya 阅读(43) 评论(0) 推荐(0) 编辑
摘要:在给定的二维二进制数组 A 中,存在两座岛。(岛是由四面相连的 1 形成的一个最大组。) 现在,我们可以将 0 变为 1,以使两座岛连接起来,变成一座岛。 返回必须翻转的 0 的最小数目。(可以保证答案至少是 1 。) 来源:力扣(LeetCode) 链接:https://leetcode-cn.c 阅读全文
posted @ 2022-01-11 17:42 Tianyiya 阅读(56) 评论(0) 推荐(0) 编辑
摘要:给你一个头结点为 head 的单链表和一个整数 k ,请你设计一个算法将链表分隔为 k 个连续的部分。 每部分的长度应该尽可能的相等:任意两部分的长度差距不能超过 1 。这可能会导致有些部分为 null 。 这 k 个部分应该按照在链表中出现的顺序排列,并且排在前面的部分的长度应该大于或等于排在后面 阅读全文
posted @ 2022-01-11 17:15 Tianyiya 阅读(37) 评论(0) 推荐(0) 编辑
摘要:给定一棵二叉树,返回所有重复的子树。对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 两棵树重复是指它们具有相同的结构以及相同的结点值。 示例 1: 1 / \ 2 3 / / \ 4 2 4 / 4 下面是两个重复的子树: 2 / 4 和 4 因此,你需要以列表的形式返回上述重复子树的 阅读全文
posted @ 2022-01-11 15:49 Tianyiya 阅读(45) 评论(0) 推荐(0) 编辑
摘要:给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入:nums = [1,2,3] 输出:6 示例 2: 输入:nums = [1,2,3,4] 输出:24 示例 3: 输入:nums = [-1,-2,-3] 输出:-6 来源:力扣(LeetCode 阅读全文
posted @ 2022-01-11 10:59 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。 示例 1: 输入: [2,2,3,4] 输出: 3 解释: 有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 注意: 数组长度不超过1000。 数组里整数的范围为 [0, 10 阅读全文
posted @ 2022-01-11 10:46 Tianyiya 阅读(34) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] shuffle() 返回数组随机打乱后的结果 阅读全文
posted @ 2022-01-11 00:05 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:给你两个整数 a 和 b ,不使用 运算符 + 和 - ​​​​​​​,计算并返回两整数之和。 示例 1: 输入:a = 1, b = 2 输出:3 示例 2: 输入:a = 2, b = 3 输出:5 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/probl 阅读全文
posted @ 2022-01-11 00:02 Tianyiya 阅读(50) 评论(0) 推荐(0) 编辑
摘要:给你一个整数 n ,对于 0 ⇐ i ⇐ n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/counting-bits 著作权归领扣网络 阅读全文
posted @ 2022-01-10 23:51 Tianyiya 阅读(21) 评论(0) 推荐(0) 编辑
摘要:给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。如果存在多种有效的行程,请你按字典排序返回最小的行 阅读全文
posted @ 2022-01-10 23:42 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态:1 即为活细胞(live),或 0 即为死细胞(dead)。每个细胞与其八个相邻位置(水平,垂直 阅读全文
posted @ 2022-01-10 23:01 Tianyiya 阅读(112) 评论(0) 推荐(0) 编辑
摘要:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 来源:力扣(LeetCode) 链接:https://le 阅读全文
posted @ 2022-01-10 22:42 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有能够得到目标值的表达式。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/expres 阅读全文
posted @ 2022-01-10 22:35 Tianyiya 阅读(48) 评论(0) 推荐(0) 编辑
摘要:所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。 示例 1: 阅读全文
posted @ 2022-01-10 18:26 Tianyiya 阅读(56) 评论(0) 推荐(0) 编辑
摘要:一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。 有些房间由恶魔守卫 阅读全文
posted @ 2022-01-10 18:09 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:对链表进行插入排序。 插入排序算法: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。 重复直到所有输入数据插入完为止。 来源:力扣(LeetCode) 链接:https:/ 阅读全文
posted @ 2022-01-10 17:46 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是) 题目数据保证答案符合 32 位带符号整 阅读全文
posted @ 2022-01-10 17:15 Tianyiya 阅读(29) 评论(0) 推荐(0) 编辑
摘要:n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/n-queens-ii 著作 阅读全文
posted @ 2022-01-10 17:01 Tianyiya 阅读(14) 评论(0) 推荐(0) 编辑
摘要:编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 数独部分空格内已填入了数字,空白格用 '.' 表示。 来源:力扣(L 阅读全文
posted @ 2022-01-10 16:37 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。 注意: 允许出现重复元素。 insert(val):向集合中插入元素 val。 remove(val):当 val 存在时,从集合中移除一个 val。 getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该 阅读全文
posted @ 2022-01-10 16:13 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你 k 枚相同的鸡蛋,并可以使用一栋从第 1 层到第 n 层共有 n 层楼的建筑。 已知存在楼层 f ,满足 0 <= f <= n ,任何从 高于 f 的楼层落下的鸡蛋都会碎,从 f 楼层或比它低的楼层落下的鸡蛋都不会破。 每次操作,你可以取一枚没有碎的鸡蛋并把它从任一楼层 x 扔下(满足 1 阅读全文
posted @ 2022-01-10 15:13 Tianyiya 阅读(24) 评论(0) 推荐(0) 编辑
摘要:冬季已经来临。 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。 在加热器的加热半径范围内的每个房屋都可以获得供暖。 现在,给出位于一条水平线上的房屋 houses 和供暖器 heaters 的位置,请你找出并返回可以覆盖所有房屋的最小加热半径。 说明:所有供暖器都遵循你的半径标准,加热的半 阅读全文
posted @ 2022-01-10 14:25 Tianyiya 阅读(25) 评论(0) 推荐(0) 编辑
摘要:现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] = [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。 例如,想要学习课程 0 ,你需要先完成课程 1 , 阅读全文
posted @ 2022-01-10 11:41 Tianyiya 阅读(32) 评论(0) 推荐(0) 编辑
摘要:给出一个单词列表,其中每个单词都由小写英文字母组成。 如果我们可以在 word1 的任何地方添加一个字母使其变成 word2,那么我们认为 word1 是 word2 的前身。例如,"abc" 是 "abac" 的前身。 词链是单词 [word_1, word_2, ..., word_k] 组成的 阅读全文
posted @ 2022-01-10 11:25 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/power 阅读全文
posted @ 2022-01-10 10:00 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。 示 阅读全文
posted @ 2022-01-10 09:57 Tianyiya 阅读(17) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/greatest-sum-divisible-by-three 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出 阅读全文
posted @ 2022-01-08 13:33 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 来源:力扣(LeetCode) 链接:https://lee 阅读全文
posted @ 2022-01-08 12:15 Tianyiya 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你一个由若干括号和字母组成的字符串 s ,删除最小数量的无效括号,使得输入的字符串有效。 返回所有可能的结果。答案可以按 任意顺序 返回。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/remove-invalid-parentheses 阅读全文
posted @ 2022-01-07 17:50 Tianyiya 阅读(34) 评论(0) 推荐(0) 编辑
摘要:给你两个整数 left 和 right ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 left 、right 端点)。 示例 1: 输入:left = 5, right = 7 输出:4 示例 2: 输入:left = 0, right = 0 输出:0 来源 阅读全文
posted @ 2022-01-07 14:30 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/diagonal-traverse 著作权归领扣网络所有。商业转载请联系官方授权,非商业转 阅读全文
posted @ 2022-01-07 14:12 Tianyiya 阅读(47) 评论(0) 推荐(0) 编辑
摘要:有一个只含有 'Q', 'W', 'E', 'R' 四种字符,且长度为 n 的字符串。 假如在该字符串中,这四个字符都恰好出现 n/4 次,那么它就是一个「平衡字符串」。 给你一个这样的字符串 s,请通过「替换一个子串」的方式,使原字符串 s 变成一个「平衡字符串」。 你可以用和「待替换子串」长度相 阅读全文
posted @ 2022-01-07 13:52 Tianyiya 阅读(44) 评论(0) 推荐(0) 编辑
摘要:现有一种使用英语字母的火星语言,这门语言的字母顺序与英语顺序不同。 给你一个字符串列表 words ,作为这门语言的词典,words 中的字符串已经 按这门新语言的字母顺序进行了排序 。 请你根据该词典还原出此语言中已知的字母顺序,并 按字母递增顺序 排列。若不存在合法字母顺序,返回 "" 。若存在 阅读全文
posted @ 2022-01-07 10:25 Tianyiya 阅读(150) 评论(0) 推荐(0) 编辑
摘要:你是个房地产开发商,想要选择一片空地 建一栋大楼。你想把这栋大楼够造在一个距离周边设施都比较方便的地方,通过调研,你希望从它出发能在 最短的距离和 内抵达周边全部的建筑物。请你计算出这个最佳的选址到周边全部建筑物的 最短距离和。 提示: 你只能通过向上、下、左、右四个方向上移动。 给你一个由 0、1 阅读全文
posted @ 2022-01-06 23:07 Tianyiya 阅读(276) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 阅读全文
posted @ 2022-01-06 22:23 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑
摘要:给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K 。 返回到目标结点 target 距离为 K 的所有结点的值的列表。 答案可以以任何顺序返回。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/all-n 阅读全文
posted @ 2022-01-06 22:17 Tianyiya 阅读(35) 评论(0) 推荐(0) 编辑
摘要:有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎; 如果 x != y,那 阅读全文
posted @ 2022-01-06 21:31 Tianyiya 阅读(33) 评论(0) 推荐(0) 编辑
摘要:给你一个字符串 s,以及该字符串中的一些「索引对」数组 pairs,其中 pairs[i] = [a, b] 表示字符串中的两个索引(编号从 0 开始)。 你可以 任意多次交换 在 pairs 中任意一对索引处的字符。 返回在经过若干次交换后,s 可以变成的按字典序最小的字符串。 来源:力扣(Lee 阅读全文
posted @ 2022-01-06 18:12 Tianyiya 阅读(38) 评论(0) 推荐(0) 编辑
摘要:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 例如,"ace" 是 "a 阅读全文
posted @ 2022-01-06 16:46 Tianyiya 阅读(28) 评论(0) 推荐(0) 编辑
摘要:给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。 进阶:你可以在 O(n) 的时间解决这个问题吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum- 阅读全文
posted @ 2022-01-06 16:39 Tianyiya 阅读(31) 评论(0) 推荐(0) 编辑
摘要:你现在手里有一份大小为 N x N 的 网格 grid,上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋,1 代表陆地,请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的。 我们这里说的距离是「曼哈顿距离」( Manhattan Distance):(x0, 阅读全文
posted @ 2022-01-06 15:48 Tianyiya 阅读(27) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示