- 博客(557)
- 收藏
- 关注
原创 LeetCode-110. 平衡二叉树
输入:root = [1,2,2,3,3,null,null,4,4]输入:root = [3,9,20,null,null,15,7]一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。给定一个二叉树,判断它是否是高度平衡的二叉树。树中的节点数在范围 [0, 5000] 内。输入:root = []...
2022-08-26 11:04:26
461
1
原创 LeetCode-350. 两个数组的交集 II
给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。如果 nums2 的元素存储在磁盘上,内存是有限的,并且你不能一次加载所有的元素到内存中,你该怎么办?输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输入:nums1 = [1,2,2,1], nums2 = [2,2]如果 nums1 的大小比 nums2 小,哪种方法更优?...
2022-08-11 18:39:47
361
原创 LeetCode-636. 函数的独占时间
输入:n = 1, logs = ["0:start:0","0:start:2","0:end:5","0:start:6","0:end:6","0:end:7"]输入:n = 2, logs = ["0:start:0","0:start:2","0:end:5","1:start:6","1:end:6","0:end:7"]输入:n = 2, logs = ["0:start:0","0:start:2","0:end:5","1:start:7","1:end:7","0:end:8"]...
2022-08-07 22:55:37
327
原创 LeetCode-1796. 字符串中第二大的数字
给你一个混合字符串s,请你返回s中第二大的数字,如果不存在第二大的数字,请你返回-1。解释出现在s中的数字包括[1,2,3]。第二大的数字是2。解释出现在s中的数字只包含[1]。输入s="dfa12321afd"混合字符串由小写英文字母和数字组成。s只包含小写英文字母和(或)数字。输入s="abc1111"...
2022-08-02 13:49:31
196
原创 LeetCode-142. 环形链表 II
如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。给定一个链表的头节点head,返回链表开始入环的第一个节点。输入head=[3,2,0,-4],pos=1。输入head=[1,2],pos=0。解释链表中有一个环,其尾部连接到第二个节点。解释链表中有一个环,其尾部连接到第一个节点。输出返回索引为1的链表节点。解释链表中没有环。...
2022-08-01 22:59:11
75
原创 LeetCode-1161. 最大层内元素和
输入root=[989,null,10250,98693,-89388,null,null,null,-32127]设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。请返回层内元素之和最大的那几层(可能只有一层)的层号,并返回其中最小的那个。输入root=[1,7,0,7,-8,null,null]所以我们返回第2层的层号,它的层内元素之和最大。第3层各元素之和为7+-8=-1,第2层各元素之和为7+0=7,...
2022-07-31 21:36:55
80
原创 LeetCode-729. 我的日程安排表 I
实现一个 MyCalendar 类来存放你的日程安排。如果要添加的日程安排不会造成 重复预订 ,则可以存储这个新的日程安排。当两个日程安排有一些时间上的交叉时(例如两个日程安排都在同一时间内),就会产生 重复预订 。日程可以用一对整数 start 和 end 表示,这里的时间是半开区间,即 [start, end), 实数 x 的范围为, start ...
2022-07-09 12:13:32
146
原创 LeetCode-1279. 红绿灯路口
这是两条路的交叉路口。第一条路是 A 路,车辆可沿 1 号方向由北向南行驶,也可沿 2 号方向由南向北行驶。第二条路是 B 路,车辆可沿 3 号方向由西向东行驶,也可沿 4 号方向由东向西行驶。每条路在路口前都有一个红绿灯。红绿灯可以亮起红灯或绿灯。绿灯表示两个方向的车辆都可通过路口。红灯表示两个方向的车辆都不可以通过路口,必须等待绿灯亮起。两条路上的红绿灯不可以同时为绿灯。这意味着,当 A 路上的绿灯亮起时,B 路上的红灯会亮起;当 B 路上的绿灯亮起时,A 路上的红灯会亮起.开始时,A 路上的绿灯亮
2022-07-04 23:44:28
503
原创 LeetCode-1188. 设计有限阻塞队列
实现一个拥有如下方法的线程安全有限阻塞队列:BoundedBlockingQueue(int capacity) 构造方法初始化队列,其中capacity代表队列长度上限。void enqueue(int element) 在队首增加一个element. 如果队列满,调用线程被阻塞直到队列非满。int dequeue() 返回队尾元素并从队列中将其删除. 如果队列为空,调用线程被阻塞直到队列非空。int size() 返回当前队列元素个数。你的实现将会被多线程同时访问进行测试。每一个线程要么是一个只
2022-06-27 22:22:51
348
原创 LeetCode-515. 在每个树行中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。示例1:输入: root = [1,3,2,5,3,null,9]输出: [1,3,9]示例2:输入: root = [1,2,3]输出: [1,3] 提示:二叉树的节点个数的范围是 [0,104]-231 ...
2022-06-24 22:01:20
93
原创 LeetCode-513. 找树左下角的值
给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。示例 1:输入: root = [2,1,3]输出: 1示例 2:输入: [1,2,3,4,null,5,6,null,null,7]输出: 7 提示:二叉树的节点个数的范围是 [1,104]-231 ...
2022-06-22 21:03:49
117
原创 LeetCode-890. 查找和替换模式
你有一个单词列表 words 和一个模式 pattern,你想知道 words 中的哪些单词与模式匹配。如果存在字母的排列 p ,使得将模式中的每个字母 x 替换为 p(x) 之后,我们就得到了所需的单词,那么单词与模式是匹配的。(回想一下,字母的排列是从字母到字母的双射:每个字母映射到另一个字母,没有两个字母映射到同一个字母。)返回 words 中与给定模式匹配的单词列表。你可以按任何顺序返回答案。示例:输入:words = ["abc","deq","mee","aqq","dkd","ccc"],
2022-06-12 13:55:43
284
1
原创 LeetCode-1241. 每个帖子的评论数
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入...
2022-06-07 22:32:54
111
原创 LeetCode-1241. 每个帖子的评论数
表Submissions 结构如下:+---------------+----------+| 列名 | 类型 |+---------------+----------+| sub_id | int || parent_id | int |+---------------+----------+上表没有主键, 所以可能会出现重复的行。每行可以是一个帖子或对该帖子的评论。如果是帖子的话,parent_id 就是 nul...
2022-05-29 22:48:46
110
原创 LeetCode-1809. 没有广告的剧集
Table: Playback+-------------+------+| Column Name | Type |+-------------+------+| session_id | int || customer_id | int || start_time | int || end_time | int |+-------------+------+该表主键为:session_id (剧集id)customer_id 是观看该剧集的观众id剧集播放时间包...
2022-05-27 22:22:52
183
原创 LeetCode-1435. 制作会话柱状图
表:Sessions+---------------------+---------+| Column Name | Type |+---------------------+---------+| session_id | int || duration | int |+---------------------+---------+session_id 是该表主键duration 是用户访问应用的时间, 以秒...
2022-05-08 17:13:50
129
原创 LeetCode-1633. 各赛事的用户注册率
用户表:Users+-------------+---------+| Column Name | Type |+-------------+---------+| user_id | int || user_name | varchar |+-------------+---------+user_id 是该表的主键。该表中的每行包括用户 ID 和用户名。注册表:Register+-------------+---------+| Column...
2022-05-06 00:24:06
302
原创 LeetCode-1294. 不同国家的天气类型
国家表:Countries+---------------+---------+| Column Name | Type |+---------------+---------+| country_id | int || country_name | varchar |+---------------+---------+country_id 是这张表的主键。该表的每行有 country_id 和 country_name 两列。天气表:Weather...
2022-05-05 23:10:29
267
原创 LeetCode-388. 文件的最长绝对路径
假设有一个同时存储文件和目录的文件系统。下图展示了文件系统的一个示例:这里将 dir 作为根目录中的唯一目录。dir 包含两个子目录 subdir1 和 subdir2 。subdir1 包含文件 file1.ext 和子目录 subsubdir1;subdir2 包含子目录 subsubdir2,该子目录下包含文件 file2.ext 。在文本格式中,如下所示(⟶表示制表符):dir⟶ subdir1⟶ ⟶ file1.ext⟶ ⟶ subsubdir1⟶ subdir2⟶ ⟶
2022-04-23 12:00:13
120
原创 LeetCode-608. 树节点
给定一个表tree,id 是树节点的编号,p_id是它父节点的id 。+----+------+| id | p_id |+----+------+| 1 | null || 2 | 1 || 3 | 1 || 4 | 2 || 5 | 2 |+----+------+树中每个节点属于以下三种类型之一:叶子:如果这个节点没有任何孩子节点。根:如果这个节点是整棵树的根,即没有父节点。内部节点:如果这个节点既不是叶子节点也不是根节点。...
2022-04-20 20:13:24
395
原创 LeetCode-804. 唯一摩尔斯密码词
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,比如:'a' 对应 ".-" ,'b' 对应 "-..." ,'c' 对应 "-.-." ,以此类推。为了方便,所有 26 个英文字母的摩尔斯密码表如下:[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-",".
2022-04-10 21:43:33
184
原创 LeetCode-607. 销售员
表:SalesPerson+-----------------+---------+| Column Name | Type |+-----------------+---------+| sales_id | int || name | varchar || salary | int || commission_rate | int || hire_date | date |...
2022-04-10 17:45:27
142
原创 LeetCode-1511. 消费者下单频率
表: Customers+---------------+---------+| Column Name | Type |+---------------+---------+| customer_id | int || name | varchar || country | varchar |+---------------+---------+customer_id 是该表主键.该表包含公司消费者的信息.表: Product...
2022-03-20 17:17:54
151
原创 LeetCode-1327. 列出指定时间段内所有的下单产品
表: Products+------------------+---------+| Column Name | Type |+------------------+---------+| product_id | int || product_name | varchar || product_category | varchar |+------------------+---------+product_id 是该表主键。该表包含该公司产...
2022-03-20 11:05:01
124
原创 LeetCode-2072. 赢得比赛的大学
表: NewYork+-------------+------+| Column Name | Type |+-------------+------+| student_id | int || score | int |+-------------+------+student_id 是这个表的主键。每一行包含纽约大学 (New York University) 中一名学生一次考试的成绩。表: California+-------------+------+...
2022-03-20 09:50:38
268
原创 LeetCode-1789. 员工的直属部门
Table: Employee+---------------+---------+| Column Name | Type |+---------------+---------+| employee_id | int || department_id | int || primary_flag | varchar |+---------------+---------+这张表的主键为 employee_id, department_idemployee...
2022-03-12 00:11:08
308
原创 LeetCode-589. N 叉树的前序遍历
给定一个 n叉树的根节点 root,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]输出:[...
2022-03-10 23:15:57
78
原创 LeetCode-1965. 丢失信息的雇员
表: Employees+-------------+---------+| Column Name | Type |+-------------+---------+| employee_id | int || name | varchar |+-------------+---------+employee_id 是这个表的主键。每一行表示雇员的id 和他的姓名。表: Salaries+-------------+---------+| Column...
2022-03-09 21:04:57
323
原创 LeetCode-146. LRU 缓存
请你设计并实现一个满足LRU (最近最少使用) 缓存 约束的数据结构。实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value)如果关键字key 已经存在,则变更其数据值value ;如果不存在,则向缓存中插入该组key-value 。如果插入操作导致关键...
2022-03-01 23:31:11
234
原创 LeetCode-1873. 计算特殊奖金
表: Employees+-------------+---------+| 列名 | 类型 |+-------------+---------+| employee_id | int || name | varchar || salary | int |+-------------+---------+employee_id 是这个表的主键。此表的每一行给出了雇员id ,名字和薪水。写出一个SQL 查询语句,计算每个...
2022-02-27 23:08:42
514
原创 LeetCode-1303. 求团队人数
员工表:Employee+---------------+---------+| Column Name | Type |+---------------+---------+| employee_id | int || team_id | int |+---------------+---------+employee_id 字段是这张表的主键,表中的每一行都包含每个员工的 ID 和他们所属的团队。编写一个 SQL 查询,以求得每个员工所在团队的...
2022-02-27 19:44:01
101
原创 LeetCode-1741. 查找每个员工花费的总时间
表: Employees+-------------+------+| Column Name | Type |+-------------+------+| emp_id | int || event_day | date || in_time | int || out_time | int |+-------------+------+(emp_id, event_day, in_time) 是这个表的主键。该表显示了员工在办公室的出入情况。ev...
2022-02-27 15:58:08
170
原创 LeetCode-1587. 银行账户概要 II
表: Users+--------------+---------+| Column Name | Type |+--------------+---------+| account | int || name | varchar |+--------------+---------+account 是该表的主键.表中的每一行包含银行里中每一个用户的账号.表: Transactions+---------------+---------...
2022-02-26 11:40:44
153
原创 LeetCode-1350. 院系无效的学生
院系表: Departments+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || name | varchar |+---------------+---------+id 是该表的主键该表包含一所大学每个院系的 id 信息学生表: Students+---------------+-----...
2022-02-20 17:51:49
128
原创 LeetCode-1445. 苹果和桔子
表: Sales+---------------+---------+| Column Name | Type |+---------------+---------+| sale_date | date || fruit | enum || sold_num | int |+---------------+---------+(sale_date,fruit) 是该表主键.该表包含了每一天中"苹果" 和 "桔子"的销售...
2022-02-19 19:18:35
175
原创 LeetCode-1189. “气球” 的最大数量
给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。示例 1:输入:text = "nlaebolko"输出:1示例 2:输入:text = "loonbalxballpoon"输出:2示例 3:输入:text = "leetcode"输出:0提示:1 <= text.length <=.
2022-02-13 20:39:41
99
原创 LeetCode-1405. 最长快乐字符串
如果字符串中不含有任何 'aaa','bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」。给你三个整数 a,b ,c,请你返回 任意一个 满足下列全部条件的字符串 s:s 是一个尽可能长的快乐字符串。s 中 最多 有a 个字母 'a'、b个字母 'b'、c 个字母 'c' 。s 中只含有 'a'、'b' 、'c' 三种字母。如果不存在这样的字符串 s ,请返回一个空字符串 ""。示例 1:输入:a = 1, b = 1, c = 7输出:"cca.
2022-02-07 22:22:25
199
原创 LeetCode-884. 两句话中的不常见单词
句子 是一串由空格分隔的单词。每个 单词 仅由小写字母组成。如果某个单词在其中一个句子中恰好出现一次,在另一个句子中却 没有出现 ,那么这个单词就是 不常见的 。给你两个 句子 s1 和 s2 ,返回所有 不常用单词 的列表。返回列表中单词可以按 任意顺序 组织。示例 1:输入:s1 = "this apple is sweet", s2 = "this apple is sour"输出:["sweet","sour"]示例 2:输入:s1 = "apple apple", s
2022-01-30 23:28:59
562
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人