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

LC 400. 第 N 位数字

题目描述这是 LeetCode 上的 400. 第 N 位数字 ,难度为 中等。 给你一个整数 $n$ ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...] 中找出并返回第 $n$ 位数字。 示例 1:123输入:n = 3输出:3示例 2:12345输入:n = 11输出:0解释:第 11 位数字在序列 1, 2, 3, 4, 5, 6, 7,

2021-11-29
模拟 数学

LC 786. 第 K 个最小的素数分数

题目描述这是 LeetCode 上的 786. 第 K 个最小的素数分数 ,难度为 中等。 给你一个按递增顺序排序的数组 arr 和一个整数 k 。 数组 arr 由 $1$ 和若干 素数 组成,且其中所有整数互不相同。 对于每对满足 $0 < i < j < arr.length$ 的 $i$ 和 $j$ ,可以得到分数 $arr[i] / arr[j]$ 。 那么第 $k$

2021-11-28
优先队列(堆) 二分 双指针 多路归并

LC 438. 找到字符串中所有字母异位词

题目描述这是 LeetCode 上的 438. 找到字符串中所有字母异位词 ,难度为 中等。 给定两个字符串 s 和 p,找到 s 中所有 p 的异位词的子串,返回这些子串的起始索引。 不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1:1234567输入: s = "cbaebabacd", p = "abc"输

2021-11-28
双指针 滑动窗口

LC 519. 随机翻转矩阵

题目描述这是 LeetCode 上的 519. 随机翻转矩阵 ,难度为 中等。 给你一个 $m x n$ 的二元矩阵 $matrix$,且所有值被初始化为 $0$。 请你设计一个算法,随机选取一个满足 matrix[i][j] == 0 的下标 $(i, j)$ ,并将它的值变为 $1$ 。 所有满足 matrix[i][j] == 0 的下标 $(i, j)$ 被选取的概率应当均等。 尽量最少调

2021-11-27
哈希表 双指针

LC 700. 二叉搜索树中的搜索

题目描述这是 LeetCode 上的 700. 二叉搜索树中的搜索 ,难度为 简单。 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如,123456789给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应该返回如下子树

2021-11-25
树的搜索 递归 迭代

LC 458. 可怜的小猪

题目描述这是 LeetCode 上的 458. 可怜的小猪 ,难度为 困难。 有 buckets 桶液体,其中正好有一桶含有毒药,其余装的都是水,它们从外观看起来都一样。 为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断。不幸的是,你只有 minutesToTest 分钟时间来确定哪桶液体是有毒的。 喂猪的规则如下: 选择若干活猪进行喂养 可以允许小猪同时饮用任意数量的桶

2021-11-24
数学

LC 423. 从英文中重建数字

题目描述这是 LeetCode 上的 423. 从英文中重建数字 ,难度为 中等。 给你一个字符串 s ,其中包含字母顺序打乱的用英文单词表示的若干数字(0-9)。按 升序 返回原始的数字。 示例 1:123输入:s = "owoztneoer"输出:"012"示例 2:123输入:s = "fviefuro"输出:"45&qu

2021-11-23
模拟 脑筋急转弯

LC 859. 亲密字符串

题目描述这是 LeetCode 上的 859. 亲密字符串 ,难度为 简单。 给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就返回 true ,否则返回 false 。 交换字母的定义是:取两个下标 i 和 j (下标从 $0$ 开始)且满足 i != j ,接着交换 s[i] 和 s[j] 处的字符。 例如,在 "abcd&q

2021-11-22
模拟

LC 384. 打乱数组

题目描述这是 LeetCode 上的 384. 打乱数组 ,难度为 中等。 给你一个整数数组 nums,设计算法来打乱一个没有重复元素的数组。 实现 Solution class: Solution(int[] nums) 使用整数数组 nums 初始化对象 int[] reset() 重设数组到它的初始状态并返回 int[] shuffle() 返回数组随机打乱后的结果 示例:1234567

2021-11-21
洗牌算法

LC 559. N 叉树的最大深度

题目描述这是 LeetCode 上的 559. N 叉树的最大深度 ,难度为 简单。 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。 示例 1: 123输入:root = [1,null,3,2,4,null,5,6]输出:3 示例 2: 123输入:root = [1,n

2021-11-21
DFS BFS

LC 594. 最长和谐子序列

题目描述这是 LeetCode 上的 594. 最长和谐子序列 ,难度为 简单。 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 $1$。 现在,给你一个整数数组 $nums$ ,请你在所有可能的子序列中找到最长的和谐子序列的长度。 数组的子序列是一个由数组派生出来的序列,它可以通过删除一些元素或不删除元素、且不改变其余元素的顺序而得到。 示例 1:12345输入:nums = [1

2021-11-19
哈希表 模拟 双指针 滑动窗口

LC 397. 整数替换

题目描述这是 LeetCode 上的 397. 整数替换 ,难度为 中等。 给定一个正整数 n ,你可以做如下操作: 如果 n 是偶数,则用 n / 2 替换 n 。 如果 n 是奇数,则可以用 n + 1 或 n - 1 替换 n 。 n 变为 $1$ 所需的最小替换次数是多少? 示例 1:12345输入:n = 8输出:3解释:8 -> 4 -> 2 -> 1示例 2

2021-11-19
贪心 DFS BFS

LC 563. 二叉树的坡度

题目描述这是 LeetCode 上的 563. 二叉树的坡度 ,难度为 简单。 给定一个二叉树,计算整个树的坡度 。 一个树的节点的坡度定义即为,该节点左子树的节点之和和右子树节点之和的差的绝对值。 如果没有左子树的话,左子树的节点之和为 $0$ ,没有右子树的话也是一样。空结点的坡度是 $0$ 。 整个树的坡度就是其所有节点的坡度之和。 示例 1: 123456789输入:root = [1,

2021-11-17
DFS 二叉树

LC 318. 最大单词长度乘积

题目描述这是 LeetCode 上的 318. 最大单词长度乘积 ,难度为 中等。 给定一个字符串数组 words,找到 $length(word[i]) * length(word[j])$ 的最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 $0$。 示例 1:12345输入: ["abcw","baz&qu

2021-11-16
哈希表 模拟 位运算

LC 391. 完美矩形

题目描述这是 LeetCode 上的 391. 完美矩形 ,难度为 困难。 给你一个数组 rectangles,其中 $rectangles[i] = [x_i, y_i, a_i, b_i]$ 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 $(x_i, y_i)$ ,右上顶点是 $(a_i, b_i)$ 。 如果所有矩形一起精确覆盖了某个矩形区域,则返回 true ;否则,返回 false 。

2021-11-15
扫描线
1…3233343536…58

搜索

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