宫水三叶の刷题日记
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
  •   
  •   

LC 761. 特殊的二进制序列

题目描述这是 LeetCode 上的 761. 特殊的二进制序列 ,难度为 困难。 特殊的二进制序列是具有以下两个性质的二进制序列: 0 的数量与 1 的数量相等。 二进制序列的每一个前缀码中 1 的数量要大于等于 0 的数量。 给定一个特殊的二进制序列 S,以字符串形式表示。 定义一个操作为首先选择 S 的两个连续且非空的特殊的子串,然后将它们交换。(两个子串为连续的当且仅当第一个子串的最后

2022-08-08
构造

LC 636. 函数的独占时间

题目描述这是 LeetCode 上的 636. 函数的独占时间 ,难度为 中等。 有一个单线程 CPU 正在运行一个含有 n 道函数的程序。 每道函数都有一个位于 0 和 n-1 之间的唯一标识符。 函数调用存储在一个调用栈上 :当一个函数调用开始时,它的标识符将会推入栈中。而当一个函数调用结束时,它的标识符将会从栈中弹出。标识符位于栈顶的函数是当前正在执行的函数。每当一个函数开始或者结束时,将

2022-08-07
模拟 栈

LC 1408. 数组中的字符串匹配

题目描述这是 LeetCode 上的 1408. 数组中的字符串匹配 ,难度为 简单。 给你一个字符串数组 words,数组中的每个字符串都可以看作是一个单词。 请你按任意顺序返回 words 中是其他单词的子字符串的所有单词。 如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i],那么字符串 words[i] 就是 words[j] 的一个子字符串。 示例 1:12

2022-08-06
模拟

LC 623. 在二叉树中增加一行

题目描述这是 LeetCode 上的 623. 在二叉树中增加一行 ,难度为 中等。 给定一个二叉树的根 root 和两个整数 val 和 depth,在给定的深度 depth 处添加一个值为 val 的节点行。 注意,根节点 root 位于深度 $1$ 。 加法规则如下: 给定整数 depth,对于深度为 depth - 1 的每个非空树节点 cur,创建两个值为 val 的树节点作为 cur

2022-08-05
DFS BFS 二叉树

LC 剑指 Offer 34. 二叉树中和为某一值的路径

题目描述这是 LeetCode 上的 剑指 Offer 34. 二叉树中和为某一值的路径 ,难度为 中等。 给你二叉树的根节点 root 和一个整数目标和 targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1:123输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], target

2022-08-04
DFS BFS 二叉树 递归 迭代

LC 剑指 Offer 32 - III. 从上到下打印二叉树 III

题目描述这是 LeetCode 上的 剑指 Offer 32 - III. 从上到下打印二叉树 III ,难度为 中等。 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7],12345 3 / \9 20 / \ 15

2022-08-04
DFS BFS 二叉树 递归 迭代

LC 剑指 Offer 32 - II. 从上到下打印二叉树 II

题目描述这是 LeetCode 上的 剑指 Offer 32 - II. 从上到下打印二叉树 II ,难度为 简单。 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 例如:给定二叉树: [3,9,20,null,null,15,7],12345 3 / \9 20 / \ 15 7返回其层次遍历结果:12345[ [3], [9,20], [15,7

2022-08-04
DFS BFS 二叉树 递归 迭代

LC 1403. 非递增顺序的最小子序列

题目描述这是 LeetCode 上的 1403. 非递增顺序的最小子序列 ,难度为 简单。 给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和严格大于未包含在该子序列中的各元素之和。 如果存在多个解决方案,只需返回长度最小的子序列。如果仍然有多个解决方案,则返回元素之和最大的子序列。 与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数

2022-08-04
贪心

LC 899. 有序队列

题目描述这是 LeetCode 上的 899. 有序队列 ,难度为 困难。 给定一个字符串 s 和一个整数 k 。 你可以从 s 的前 k 个字母中选择一个,并把它加到字符串的末尾。 返回 在应用上述步骤的任意数量的移动后,字典上最小的字符串 。 示例 1:1234567输入:s = "cba", k = 1输出:"acb"解释:在第一步中,我们将第一个字符

2022-08-03
构造 最小表示法

LC 622. 设计循环队列

题目描述这是 LeetCode 上的 622. 设计循环队列 ,难度为 中等。 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环,它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。 在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。 但是使用循环

2022-08-02
队列 设计数据结构

LC 剑指 Offer 32 - I. 从上到下打印二叉树

题目描述这是 LeetCode 上的 剑指 Offer 32 - I. 从上到下打印二叉树 ,难度为 中等。 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7],12345 3 / \9 20 / \ 15 7返回:1[3,9,20,15,7] 提示: 节点总数 <= 1000 迭代 -

2022-08-01
DFS BFS 二叉树 递归 迭代

LC 1374. 生成每种字符都是奇数个的字符串

题目描述这是 LeetCode 上的 1374. 生成每种字符都是奇数个的字符串,难度为 简单。 给你一个整数 n,请你返回一个含 n 个字符的字符串,其中每种字符在该字符串中都恰好出现奇数次。 返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。 示例 1:12345输入:n = 4输出:"pppz"解释:"pppz&quot

2022-08-01
模拟

LC 1161. 最大层内元素和

题目描述这是 LeetCode 上的 1161. 最大层内元素和 ,难度为 中等。 给你一个二叉树的根节点 root。 设根节点位于二叉树的第 $1$ 层,而根节点的子节点位于第 $2$ 层,依此类推。 请返回层内元素之和最大的那几层(可能只有一层)的层号,并返回其中最小的那个。 示例 1: 123456789输入:root = [1,7,0,7,-8,null,null]输出:2解释:第 1

2022-07-31
BFS 层序遍历

LC 剑指 Offer 24. 反转链表

题目描述这是 LeetCode 上的 剑指 Offer 24. 反转链表 ,难度为 简单。 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例:123输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制: $0 <= 节点个数 <= 5000$ 迭

2022-07-30
递归 链表 迭代

LC 952. 按公因数计算最大组件大小

题目描述这是 LeetCode 上的 952. 按公因数计算最大组件大小 ,难度为 困难。 给定一个由不同正整数的组成的非空数组 nums,考虑下面的图: 有 nums.length 个节点,按从 nums[0] 到 nums[nums.length - 1] 标记; 只有当 nums[i] 和 nums[j] 共用一个大于 $1$ 的公因数时,nums[i] 和 nums[j]之间才有一条边。

2022-07-30
数学 并查集
1…1415161718…58

搜索

Hexo Fluid
总访问量 次 总访客数 人