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

LC 230. 二叉搜索树中第K小的元素

题目描述这是 LeetCode 上的 230. 二叉搜索树中第K小的元素 ,难度为 中等。 给定一个二叉搜索树的根节点 root,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 $1$ 开始计数)。 示例 1:123输入:root = [3,1,4,null,2], k = 1输出:1 示例 2:123输入:root = [5,3,6,2,4,null,null,1], k =

2021-10-16
中序遍历 二叉树 树的搜索

LC 282. 给表达式添加运算符

题目描述这是 LeetCode 上的 282. 给表达式添加运算符 ,难度为 困难。 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有能够得到目标值的表达式。 示例 1:123输入: num = "123", target = 6输出: ["1+2+3&quo

2021-10-16
数学 DFS

LC 38. 外观数列

题目描述这是 LeetCode 上的 38. 外观数列 ,难度为 简单。 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) = "1" countAndSay(n) 是对 countAndSay(n-1) 的描述,然

2021-10-14
模拟

LC 剑指 Offer II 069. 山峰数组的顶部

题目描述这是 LeetCode 上的 剑指 Offer II 069. 山峰数组的顶部 ,难度为 简单。 符合下列属性的数组 arr 称为 山峰数组(山脉数组) : arr.length >= 3 存在 i(0 < i < arr.length - 1)使得: arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] &gt

2021-10-13
二分 三分

LC 412. Fizz Buzz

题目描述这是 LeetCode 上的 412. Fizz Buzz ,难度为 简单。 写一个程序,输出从 1 到 n 数字的字符串表示。 如果 n 是 3 的倍数,输出 “Fizz”; 如果 n 是 5 的倍数,输出 “Buzz”; 如果 n 同时是 3 和 5 的倍数,输出 “FizzBuzz”。 示例:1234567891011121314151617181920n = 15,返回:

2021-10-12
模拟

LC 273. 整数转换英文表示

题目描述这是 LeetCode 上的 273. 整数转换英文表示 ,难度为 困难。 将非负整数 num 转换为其对应的英文表示。 示例 1:123输入:num = 123输出:"One Hundred Twenty Three"示例 2:123输入:num = 12345输出:"Twelve Thousand Three Hundred Forty Five&quot

2021-10-10
模拟

LC 441. 排列硬币

题目描述这是 LeetCode 上的 441. 排列硬币 ,难度为 简单。 你总共有 n 枚硬币,并计划将它们按阶梯状排列。 对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行可能是不完整的。 给你一个数字 n ,计算并返回可形成完整阶梯行的总行数。 示例 1: 12345输入:n = 5输出:2解释:因为第三行不完整,所以返回 2 。 示例 2: 12345输入

2021-10-09
数学 二分

LC 352. 将数据流变为多个不相交区间

题目描述这是 LeetCode 上的 352. 将数据流变为多个不相交区间 ,难度为 困难。 给你一个由非负整数 a1, a2, ..., an 组成的数据流输入,请你将到目前为止看到的数字总结为不相交的区间列表。 实现 SummaryRanges 类: SummaryRanges() 使用一个空数据流初始化对象。 void addNum(int val) 向数据流中加入整数 val 。 int

2021-10-08
模拟 二分

LC 187. 重复的DNA序列

题目描述这是 LeetCode 上的 187. 重复的DNA序列 ,难度为 中等。 所有 DNA 都由一系列缩写为 'A','C','G' 和 'T' 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来找出所有目标子串,目标子串的长度

2021-10-07
哈希表 滑动窗口 前缀和 字符串哈希

LC 434. 字符串中的单词数

题目描述这是 LeetCode 上的 434. 字符串中的单词数 ,难度为 简单。 统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例:12345输入: "Hello, my name is John"输出: 5解释: 这里的单词是指连续的不是空格的字符,所以 "Hello," 算作 1

2021-10-06
模拟

LC 414. 第三大的数

题目描述这是 LeetCode 上的 414. 第三大的数 ,难度为 简单。 给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1:12345输入:[3, 2, 1]输出:1解释:第三大的数是 1 。示例 2:12345输入:[1, 2]输出:2解释:第三大的数不存在, 所以返回最大的数 2 。示例 3:123456输入:[2, 2, 3, 1]输出:1解释:

2021-10-05
模拟 排序 数组

LC 284. 顶端迭代器

题目描述这是 LeetCode 上的 284. 顶端迭代器 ,难度为 中等。 请你设计一个迭代器,除了支持 hasNext 和 next 操作外,还支持 peek 操作。 实现 PeekingIterator 类: PeekingIterator(int[] nums) 使用指定整数数组 nums 初始化迭代器。 int next() 返回数组中的下一个元素,并将指针移动到下个元素处。 bool

2021-10-04
模拟 数据结构

LC 482. 密钥格式化

题目描述这是 LeetCode 上的 482. 密钥格式化 ,难度为 简单。 有一个密钥字符串 S,只包含字母,数字以及 '-'(破折号)。其中,N 个 '-' 将字符串分成了 N+1 组。 给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 &#39

2021-10-03
模拟

LC 166. 分数到小数

题目描述这是 LeetCode 上的 166. 分数到小数 ,难度为 中等。 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。 如果小数部分为循环小数,则将循环的部分括在括号内。 如果存在多个答案,只需返回任意一个。 对于所有给定的输入,保证答案字符串的长度小于 $10^4$ 。 示例 1:123输入:numerator = 1, den

2021-10-03
哈希表 模拟 数学

LC 405. 数字转换为十六进制数

题目描述这是 LeetCode 上的 405. 数字转换为十六进制数 ,难度为 简单。 给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意: 十六进制中所有字母(a-f)都必须是小写。 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在

2021-10-01
模拟 位运算
1…3536373839…58

搜索

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