自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 Leetcode620_有趣的电影

我们有三部电影,它们的 id 是奇数:1、3 和 5。id = 3 的电影是 boring 的,所以我们不把它包括在答案中。评级为 [0,10] 范围内的小数点后 2 位浮点数。每行包含有关电影名称、类型和评级的信息。id 是该表的主键(具有唯一值的列)。编写解决方案,找出所有影片描述为。

2024-05-18 19:15:00 753 1

原创 Leetcode619_只出现一次的最大数字

该表可能包含重复项(换句话说,在SQL中,该表没有主键)。输入的表中不存在单一数字,所以返回 null。单一数字有 1、4、5 和 6。6 是最大的单一数字,返回 6。这张表的每一行都含有一个整数。表中只出现一次的数字。查询结果如下例所示。

2024-05-17 23:30:00 548

原创 Leetcode607_销售员

中的订单 '3' 和 '4' ,容易看出只有 'John' 和 'Pam' 两个销售员曾经向公司 'RED' 销售过。该表的每一行包含一个订单的信息。该表的每一行都显示了销售人员的姓名和 ID ,以及他们的工资、佣金率和雇佣日期。该表的每一行都表示公司的名称和 ID ,以及公司所在的城市。sales_id 是该表的主键列(具有唯一值的列)。order_id 是该表的主键列(具有唯一值的列)。com_id 是该表的主键列(具有唯一值的列)。的公司相关的订单的所有销售人员的姓名。中所有其他人的名字。

2024-05-16 23:30:00 1087

原创 Leetcode596_超过5名学生的课

在 SQL 中,(student, class)是该表的主键列。该表的每一行表示学生的名字和他们注册的班级。-计算机课有1个学生,所以我们不包括它。-英语课有1名学生,所以我们不包括它。-生物课有1名学生,所以我们不包括它。-数学课有6个学生,所以我们包括它。查询结果格式如下所示。

2024-05-15 23:30:00 853

原创 Leetcode595_大的国家

这张表的每一行提供:国家名称、所属大陆、面积、人口和 GDP 值。如果一个国家满足下述两个条件之一,则认为该国是。是该表的主键(具有唯一值的列)。的国家名称、人口和面积。返回结果格式如下例所示。

2024-05-14 22:41:22 2055

原创 Leetcode586_订单最多的客户

customer_number 为 '3' 的顾客有两个订单,比顾客 '1' 或者 '2' 都要多,因为他们只有一个订单。所以结果是该顾客的 customer_number ,也就是 3。在 SQL 中,Order_number是该表的主键。如果有多位顾客订单数并列最多,你能找到他们所有的。此表包含关于订单ID和客户ID的信息。比任何其他客户下了更多的订单。查询结果格式如下所示。

2024-05-13 10:18:36 608

原创 Leetcode584_寻找用户推荐人

该表的每一行表示一个客户的 id、姓名以及推荐他们的客户的 id。在 SQL 中,id 是该表的主键列。

2024-05-12 17:14:31 448

原创 Leetcode577_员工奖金

empId 是 Employee 表中 empId 的外键(reference 列)。该表的每一行都表示员工的姓名和 id,以及他们的工资和经理的 id。该表的每一行都包含一个员工的 id 和他们各自的奖金。empId 是该表中具有唯一值的列。empId 是该表具有唯一值的列。编写解决方案,报告每个奖金。的员工的姓名和奖金数额。

2024-05-11 23:30:00 942

原创 Leetcode197_上升的温度

编写解决方案,找出与之前(昨天的)日期相比温度更高的所有日期的。2015-01-02 的温度比前一天高(10 -> 25)2015-01-04 的温度比前一天高(20 -> 30)没有具有相同 recordDate 的不同行。id 是该表具有唯一值的列。该表包含特定日期的温度信息。结果格式如下例子所示。

2024-05-10 23:30:00 750

原创 Leetcode196_删除重复的电子邮箱

john@example.com重复两次。我们保留最小的Id = 1。该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。驱动程序将首先编译并运行您的代码片段,然后再显示。(对于 Pandas 用户,请注意你应该直接修改。(对于 SQL 用户,请注意你应该编写一个。所有重复的电子邮件,只保留一个具有最小。id 是该表的主键列(具有唯一值的列)。运行脚本后,显示的答案是。返回结果格式如下示例所示。

2024-05-09 21:26:22 608

原创 Leetcode183_从不订购的客户

customerId 是 Customers 表中 ID 的外键( Pandas 中的连接键)。该表的每一行都表示订单的 ID 和订购该订单的客户的 ID。该表的每一行都表示客户的 ID 和名称。在 SQL 中,id 是该表的主键。在 SQL 中,id 是该表的主键。找出所有从不点任何东西的顾客。

2024-05-08 23:30:00 528

原创 Leetcode182_查找重复的电子邮箱

编写解决方案来报告所有重复的电子邮件。请注意,可以保证电子邮件字段不为 NULL。此表的每一行都包含一封电子邮件。电子邮件不包含大写字母。id 是该表的主键(具有唯一值的列)。a@b.com 出现了两次。

2024-05-07 23:21:39 621

原创 Leetcode181_超过经理收入的员工

该表的每一行都表示雇员的ID、姓名、工资和经理的ID。id 是该表的主键(具有唯一值的列)。编写解决方案,找出收入比经理高的员工。Joe 是唯一挣得比经理多的雇员。

2024-05-06 21:22:36 671

原创 Leetcode177_第N高的薪水

该表的每一行都包含有关员工工资的信息。在 SQL 中,id 是该表的主键。个最高工资,查询结果应该为。查询结果格式如下所示。

2024-05-05 23:30:00 401

原创 Leetcode176_第二高的薪水

表中第二高的薪水。如果不存在第二高的薪水,查询应该返回。在 SQL 中,id 是这个表的主键。表的每一行包含员工的工资信息。查询结果如下例所示。

2024-05-04 23:30:00 328

原创 Leetcode175_组合两个表

地址表中没有 personId = 1 的地址,所以它们的城市和州返回 null。该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。addressId = 1 包含了 personId = 2 的地址信息。addressId 是该表的主键(具有唯一值的列)。personId 是该表的主键(具有唯一值的列)。| 列名 | 类型 |该表包含一些人的 ID 和他们的姓和名的信息。| 列名 | 类型 |表中每个人的姓、名、城市和州。

2024-05-03 23:30:00 938

原创 LCR 151. 彩灯装饰记录 III

的二叉树,节点值为该位置装饰彩灯的颜色编号。一棵圣诞树记作根节点为。

2024-05-02 21:52:15 828

原创 LCR 150. 彩灯装饰记录 II

的二叉树,节点值为该位置装饰彩灯的颜色编号。请按照从左到右的顺序返回每一层彩灯编号,每一层的结果记录于一行。一棵圣诞树记作根节点为。

2024-05-01 22:41:06 40

原创 LCR 149. 彩灯装饰记录 I

的二叉树,节点值为该位置装饰彩灯的颜色编号。的顺序返回每一层彩灯编号。一棵圣诞树记作根节点为。

2024-04-30 18:02:08 340

原创 Leetcode98_验证二叉搜索树

2.在遍历过程中,比较当前节点的值与前一个节点的值,如果当前节点的值小于等于前一个节点的值,则不满足二叉搜索树的条件。3.如果遍历结束,且没有发现任何不满足条件的情况,那么该二叉树就是一个二叉搜索树。使用中序遍历二叉搜索树的结果应当是一个有序的升序序列。根节点的值是 5 ,但是右子节点的值是 4。1.使用递归或者迭代的方式进行中序遍历二叉树。,判断其是否是一个有效的二叉搜索树。给你一个二叉树的根节点。

2024-04-29 21:14:49 489

原创 Leetcode226_翻转二叉树

翻转这棵二叉树,并返回其根节点。给你一棵二叉树的根节点。

2024-04-28 22:50:27 268

原创 Leetcode297_二叉树的序列化与反序列化

请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。你并非必须采取这种方式,你也可以采用其他的方法解决这个问题。使用层次遍历进行序列化和反序列化。

2024-04-27 19:49:47 406

原创 Leetcode662_二叉树最大宽度

被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的。最大宽度出现在树的第 4 层,宽度为 7 (6,null,null,null,null,null,7)。思路:存储二叉树的下标,每个节点下标为 N,左子树结点为 2 * N,右子树下标为 2 * N+1。最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9)。最大宽度出现在树的第 2 层,宽度为 2 (3,2)。然后进行层次遍历,每次比较最大宽度值。

2024-04-26 23:30:00 1001

原创 Leetcode104_二叉树的最大深度

是指从根节点到最远叶子节点的最长路径上的节点数。思路:递归求出左子树和右子树的最大深度。思路跟层序遍历差不多。

2024-04-25 23:30:00 180

原创 Leetcode102_二叉树的层序遍历

二叉树的层序遍历是一种广度优先搜索的算法,通过逐层访问二叉树的节点来遍历整个二叉树。3.2如果该节点有左子节点,则将左子节点入队。3.3如果该节点有右子节点,则将右子节点入队。(即逐层地,从左到右访问所有节点)。1.创建一个队列,用于存储待访问的节点。3.1出队一个节点,并将其值存储起来。4.返回存储节点值的结果列表。

2024-04-24 23:30:00 594

原创 Leetcode145_二叉树的后序遍历

二叉树的后序遍历是指先遍历左子树,再遍历右子树,最后访问根节点的顺序。首先创建一个两个空栈(一个用于保存结果),将根节点入栈。递归算法很简单,你可以通过迭代算法完成吗?a. 弹出栈顶节点,并将其加入到结果栈中。b. 先将左子节点入栈(如果存在)。c. 再将右子节点入栈(如果存在)。给你一棵二叉树的根节点。

2024-04-23 15:07:41 724

原创 Leetcode94_二叉树的中序遍历

4.如果当前节点为空,说明已经到达左子树的最下层,需要弹出栈顶节点并将指针指向弹出节点的 右子树。3.如果当前节点不为空,将当前节点入栈,并将指针指向当前节点的左子树。二叉树的中序遍历是指先遍历左子树,然后访问根节点,最后遍历右子树。5.重复步骤3和步骤4,直到栈为空且当前节点为空,表示遍历结束。2.当栈不为空或者当前节点不为空时,执行循环操作。递归算法很简单,你可以通过迭代算法完成吗?给定一个二叉树的根节点。

2024-04-22 20:03:11 654

原创 Leetcode144_二叉树的前序遍历

二叉树的先序遍历是指先访问根节点,然后按照先序遍历的方式访问左子树,最后再按照先序遍历的方式访问右子树。可以使用递归或者栈来实现二叉树的先序遍历。递归算法很简单,你可以通过迭代算法完成吗?a. 弹出栈顶节点,并将其值加入结果列表。b. 先将右子节点入栈(如果存在)。c. 再将左子节点入栈(如果存在)。首先创建一个空栈,将根节点入栈。

2024-04-21 23:30:00 348

原创 Leetcode141_环形链表

慢指针一次走一步,快指针一次走两步,如果在移动的过程中,慢指针反过来追上快指针,就说明该链表为环形链表。否则快指针将到达链表尾部,该链表不为环形链表。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。仅仅是为了标识链表的实际情况。(即,常量)内存解决此问题吗?,判断链表中是否有环。给你一个链表的头节点。

2024-04-20 23:30:00 577

原创 Leetcode287_寻找重复数

把 nums 看成是顺序存储的链表,nums 中每个元素的值是下一个链表节点的地址,如果 nums 有重复值,说明链表存在环,本问题就转化为了找链表中环的入口节点,因此可以用快慢指针解决。慢指针总路程 = 环外 0 到入口 + 环内入口到相遇点 (可能还有 + 环内 m 圈)d) 重新定义两个指针,让 before,after 分别指向链表开始节点,相遇节点。所以,从环外 0 开始,和从相遇点开始,走同样多的步数之后,一定可以在。所以第二阶段的相遇点,就是环的入口,也就是重复的元素。你设计的解决方案必须。

2024-04-19 23:30:00 627

原创 Leetcode138_随机链表的复制

2.设置拷贝节点的random,即拷贝节点的random指向原节点的random的next,如 A.random=C,即NA.random=A.random.next=NC;1.对应指针A->B->C来说,直接把拷贝节点放到原节点的下一个节点,如:A->NA->B->NB->C->NC;指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。节点组成,其中每个新节点的值都设为其对应的原节点的值。,该指针可以指向链表中的任何节点或空节点。返回复制链表的头节点。

2024-04-18 23:30:00 999

原创 Leetcode86_分隔链表

思路:定义两个链表small和big,遍历链表,小于x值放到small链表中,大于等于x值放到big链表中,最后small的尾节点连接big的头节点。两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。

2024-04-17 23:30:00 358

原创 Leetcode234_回文链表

1.找到链表的中间节点(使用快慢指针,遍历链表,slow 一次走一步,fast 一次走两步。那么当 fast 到达链表的末尾时,slow 就位于中间位置)给你一个单链表的头节点。,请你判断该链表是否为。空间复杂度解决此题?2.反转后半部分链表。

2024-04-16 23:30:00 610

原创 Leetcode876_链表的中间结点

使用快慢指针,遍历链表,slow 一次走一步,fast 一次走两步。那么当 fast 到达链表的末尾时,slow 就位于中间位置。该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。如果有两个中间结点,则返回第二个中间结点。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。

2024-04-15 20:56:54 513

原创 Leetcode215_数组中的第K个最大元素

在分区的过程当中,我们会对子数组进行划分,如果需要的下标正好就是划分得到的位置(q[0]和q[1]之间) ,就直接返回;如果 q 比目标下标小,就递归右子区间,否则递归左子区间。这样就可以把原来递归两个区间变成只递归一个区间。请注意,你需要找的是数组排序后的第。次删除操作后堆顶元素就是要找的答案。你必须设计并实现时间复杂度为。个最大的元素,而不是第。

2024-04-14 23:16:57 872

原创 排序算法-基数排序

【代码】排序算法-基数排序。

2024-04-13 23:45:00 133

原创 排序算法-桶排序

桶排序是一种基于计数的排序算法,它的核心思想是将待排序的元素分到不同的桶中,然后对每个桶中的元素进行排序,最后将所有桶中的元素依次取出来就得到了有序的结果。

2024-04-12 22:04:17 303

原创 Leetcode110_平衡二叉树

自底向上地遍历节点进行判断。计算每个节点的高度时,需要递归地处理左右子树;所以可以先判断左右子树是否平衡,计算出左右子树的高度,再判断当前节点是否平衡。这样,计算高度的方法height,对于每个节点就只调用一次了。从根节点开始,自顶向下递归地判断左右子树是否平衡,先分别计算当前节点左右子树的高度,如果高度差不超过1,那么再递归地分别判断左右子树。给定一个二叉树,判断它是否是。

2024-04-11 23:52:20 858

原创 Leetcode283_移动零

移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。类似快速排序partition过程。,编写一个函数将所有。

2024-04-10 23:30:00 530

原创 Leetcode75_颜色分类

对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。必须在不使用库内置的 sort 函数的情况下解决这个问题。给定一个包含红色、白色和蓝色、共。类似快速排序partition过程。分别表示红色、白色和蓝色。

2024-04-09 23:30:00 858

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除