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

LC 828. 统计子串中的唯一字符

题目描述这是 LeetCode 上的 828. 统计子串中的唯一字符 ,难度为 困难。 我们定义了一个函数 countUniqueChars(s) 来统计字符串 s 中的唯一字符,并返回唯一字符的个数。 例如:s = "LEETCODE" ,则其中 "L", "T","C","O","D&

2022-09-06
模拟 数学 线性 DP

LC 652. 寻找重复的子树

题目描述这是 LeetCode 上的 652. 寻找重复的子树 ,难度为 中等。 给定一棵二叉树 root,返回所有重复的子树。 对于同一类的重复子树,你只需要返回其中任意一棵的根结点即可。 如果两棵树具有相同的结构和相同的结点值,则它们是重复的。 示例 1:123输入:root = [1,2,3,4,null,2,4,null,null,4]输出:[[2,4],[4]]示例 2:123输入:ro

2022-09-05
哈希表 DFS 二叉树

LC 1582. 二进制矩阵中的特殊位置

题目描述这是 LeetCode 上的 1582. 二进制矩阵中的特殊位置 ,难度为 简单。 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 。 特殊位置 定义:如果 mat[i][j] = 1 并且第 i 行和第 j 列中的所有其他元素均为 0(行和列的下标均 从 0 开始 ),则位置 (i, j) 被称为特

2022-09-04
模拟

LC 646. 最长数对链

题目描述这是 LeetCode 上的 646. 最长数对链 ,难度为 中等。 给出 n 个数对。 在每一个数对中,第一个数字总是比第二个数字小。 现在,我们定义一种跟随关系,当且仅当 b < c 时,数对 $(c, d)$ 才可以跟在 $(a, b)$ 后面。我们用这种形式来构造一个数对链。 给定一个数对集合,找出能够形成的最长数对链的长度。你不需要用到所有的数对,你可以以任何顺序选择其中的

2022-09-03
序列 DP 贪心 二分 排序 LIS

LC 687. 最长同值路径

题目描述这是 LeetCode 上的 687. 最长同值路径 ,难度为 中等。 给定一个二叉树的 root,返回 最长的路径的长度 ,这个路径中的 每个节点具有相同值 。 这条路径可以经过也可以不经过根节点。 两个节点之间的路径长度 由它们之间的边数表示。 示例 1:123输入:root = [5,4,5,1,1,5]输出:2示例 2:123输入:root = [1,4,5,4,4,5]输出:2

2022-09-02
DFS 二叉树 递归

LC 1475. 商品折扣后的最终价格

题目描述这是 LeetCode 上的 1475. 商品折扣后的最终价格 ,难度为 简单。 给你一个数组 prices,其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动,如果你要买第 i 件商品,那么你可以得到与 prices[j] 相等的折扣,其中 j 是满足 j > i 且 prices[j] <= prices[i] 的 最小下标 ,如果没有满足条件

2022-09-01
模拟 单调栈

LC 1032. 字符流

题目描述这是 LeetCode 上的 1032. 字符流 ,难度为 困难。 设计一个算法:接收一个字符流,并检查这些字符的后缀是否是字符串数组 words 中的一个字符串。 例如,words = ["abc", "xyz"] 且字符流中逐个依次加入 $4$ 个字符 'a'、'x'、'y' 和 'z&#3

2022-08-31
字典树 枚举 剪枝

LC 946. 验证栈序列

题目描述这是 LeetCode 上的 946. 验证栈序列 ,难度为 中等。 给定 pushed 和 popped 两个序列,每个序列中的值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false。 示例 1:1234567输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:tr

2022-08-31
模拟 栈 双指针

LC 998. 最大二叉树 II

题目描述这是 LeetCode 上的 998. 最大二叉树 II ,难度为 中等。 最大树定义:一棵树,并满足「其中每个节点的值都大于其子树中的任何其他值」。 给你最大树的根节点 root 和一个整数 val 。 给定的树是利用 Construct(a) 例程从列表 a(root = Construct(a))递归地构建的: 如果 a 为空,返回 null 。 否则,令 a[i] 作为 a 的最

2022-08-30
模拟 迭代

LC 1470. 重新排列数组

题目描述这是 LeetCode 上的 1470. 重新排列数组 ,难度为 简单。 给你一个数组 nums,数组中有 2n 个元素,按 $[x_1,x_2,…,x_n,y_1,y_2,…,y_n]$ 的格式排列。 请你将数组按 $[x_1,y_1,x_2,y_2,…,x_n,y_n]$ 格式重新排列,返回重排后的数组。 示例 1:12345输入:nums = [2,5,1,3,4,7], n = 3

2022-08-29
模拟

LC 剑指 Offer 59 - I. 滑动窗口的最大值

题目描述这是 LeetCode 上的 剑指 Offer 59 - I. 滑动窗口的最大值 ,难度为 困难。 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值 。 示例 1:12345678910111213输入:nums = [1,3,-1,-3,5,3,6,7],

2022-08-28
优先队列(堆) 线段树 单调队列 分块 RMQ

LC 239. 滑动窗口最大值

题目描述这是 LeetCode 上的 239. 滑动窗口最大值 ,难度为 困难。 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值 。 示例 1:12345678910111213输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3

2022-08-28
优先队列(堆) 线段树 单调队列 分块 RMQ

LC 793. 阶乘函数后 K 个零

题目描述这是 LeetCode 上的 793. 阶乘函数后 K 个零 ,难度为 困难。 f(x) 是 x! 末尾是 0 的数量。 回想一下 x! = 1 * 2 * 3 * ... * x,且 0! = 1。 例如, f(3) = 0,因为 3! = 6 的末尾没有 0 ;而 f(11) = 2,因为 11!= 39916800 末端有 2 个 0 。 给定 k,找出返回能满足 f(x) = k

2022-08-28
数学 二分 容斥原理

LC 662. 二叉树最大宽度

题目描述这是 LeetCode 上的 662. 二叉树最大宽度 ,难度为 中等。 给你一棵二叉树的根节点 root,返回树的最大宽度。 树的「最大宽度」是所有层中最大的宽度 。 每一层的宽度被定义为该层最左和最右的非空节点(即两个端点)之间的长度。 将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。 题目数据保证答案将会在 32

2022-08-27
哈希表 DFS 二叉树

LC 1464. 数组中两元素的最大乘积

题目描述这是 LeetCode 上的 1464. 数组中两元素的最大乘积 ,难度为 简单。 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1:12345输入:nums = [3,4,5,2]输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大

2022-08-26
模拟
1…1112131415…58

搜索

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