- 博客(41)
- 收藏
- 关注
原创 LeeCode打卡第四十天
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。
2024-10-10 11:45:11
703
原创 LeeCode打卡第三十九天
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。
2024-10-09 15:36:30
418
原创 LeeCode打卡第三十八天
给你一个整数数组 `nums` 和一个整数 `k` ,按以下方法修改该数组:第二题:加油站(LeeCode第134题):在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。
2024-10-08 13:54:58
439
原创 LeeCode打卡第三十七天
给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。
2024-10-07 15:07:58
580
原创 LeeCode打卡第三十六天
假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干.对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是满足尽可能多的孩子,并输出这个最大数值。
2024-10-06 13:29:41
462
原创 LeeCode打卡第三十四天
给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中。你可以按返回答案。数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情况。。
2024-09-27 14:07:57
667
原创 LeeCode打卡第三十三天
正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。给定一个只包含数字的字符串s,用以表示一个 IP 地址,返回所有可能的,这些地址可以通过在s中插入'.'来形成。你重新排序或删除s中的任何数字。你可以按顺序返回答案。
2024-09-26 16:51:45
821
原创 LeeCode打卡第三十二天
给定一个候选人编号的集合candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的每个数字在每个组合中只能使用。**注意:**解集不能包含重复的组合。
2024-09-25 14:43:34
661
原创 LeeCode打卡第三十一天
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。主要思想:最重要的一个点是,最后输出的为一个字符串数组,所以每一个字符串的保存很重要,本题解主要用String builder中的字符串的拼接方法来实现的。
2024-09-24 14:01:51
801
原创 LeeCode打卡第三十天
给定两个整数n和k,返回范围[1, n]中所有可能的k个数的组合。你可以按返回答案。主要思想:用递归做题首先得确定边界,这道题的边界为存入的数列的长度要小于等于k。
2024-09-23 15:14:27
587
原创 LeeCode打卡第二十九天
给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。主要思想:对图进行表里,找到第一个陆地,即值为1的点,从该点开始进行深度遍历,每遍历到一个点,将该点置为0,直到遍历完所有的点、
2024-09-19 20:03:49
783
原创 LeeCode打卡第二十八天
给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。
2024-09-18 13:28:20
819
原创 LeeCode打卡第二十七天
## 解法一:在原二叉树上进行修改主要思想:前序遍历的时候,根节点左子树最右的孩子的后一个节点为根节点的右孩子。根据这个特性,直接在原二叉树上进行修改,将右孩子放到左子树的最右边的孩子的右子树上,再将左子树置为null即可。
2024-09-16 21:13:04
642
原创 LeeCode打卡第二十六天
给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:主要思想:对于二叉搜索树,左孩子小于根节点小于右孩子。对二叉搜索树进行中序遍历时,会得到一个单调递增的数组,只要保证遍历到的后一个元素比前一个元素小即可满足要求,为了让操作更简单,定义了一个pre变量,并将pre变量定义为极小值,因为题目所给的是int类型的数据,本题解将初始值设定为更小的值 long型的最小值。
2024-09-15 17:05:35
733
原创 LeeCode打卡第二十三天
给定一个二叉树 root ,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。主要思想:在层次遍历的基础上进行了修改,主要是用到了辅助队列。
2024-09-12 15:07:13
563
原创 LeeCode打卡第二十天
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。主要思想:让链表两两进行合并,为了操作的简单,设置了一个Merge函数,Merge函数可以参考合并两个升序链表,最后在主函数里面进行设置,让链表两两合并,即可实现功能。
2024-09-06 13:53:07
412
原创 LeeCode打卡第十九天
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。
2024-09-05 14:42:02
608
原创 LeeCode打卡第十八天
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。主要思想:将两个链表从头开始比较,将两个链表中的较小值存入新链表中,比较到最后,有一个链表会先为空,此时需要一个判断函数,找到不为空的链表,将剩下的元素存入。
2024-09-04 11:52:52
500
1
原创 LeeCode打卡第十七天
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。主要思想:将两个链表从头开始比较,将两个链表中的较小值存入新链表中,比较到最后,有一个链表会先为空,此时需要一个判断函数,找到不为空的链表,将剩下的元素存入。
2024-09-03 11:23:07
1072
转载 LeeCode打卡第十六天(补充题)
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。
2024-09-02 12:18:15
273
原创 LeeCode打卡第十四天
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
2024-08-31 13:15:03
524
原创 LeetCode 热题 100打卡第十三天
给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。
2024-08-30 11:05:57
541
原创 LeetCode 热题 100打卡第十二天
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。请使用 原地 算法。
2024-08-29 12:12:20
521
原创 LeetCode 热题 100打卡第十一天
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请不要使用除法,且在 O(n) 时间复杂度内完成此题。主要思想,要计算第i个元素除自身以外的数组乘积,可以分别计算出前i-1个元素的乘积,i+1到length-1的元素的乘积,给他们分别取名为前缀积与后缀。最后将前后缀积相乘,即为所需的结果。
2024-08-28 10:42:46
496
1
原创 LeetCode 热题 100打卡第十天
以数组 `intervals` 表示若干个区间的集合,其中单个区间为 `intervals[i] = [starti, endi]`。请你合并所有重叠的区间,并返回 *一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间*。主要思想,首先对数组排序,如果后一个区间的左边界小于前一个区间的右边界,这说明这两个区间可以进行合并。(排序依靠区间的左边界进行)
2024-08-27 10:53:40
392
原创 LeetCode 热题 100打卡第九天
给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 ""。
2024-08-26 16:49:32
748
原创 LeetCode 热题 100打卡第八天
给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数.子数组是数组中元素的连续非空序列。主要利用前缀和与HashMap,用HashMap记录相同前缀和的值,通过前缀和的差值找到和为k的一段子序列,每次都找[0,j-1]这个区间里面满足条件的前缀和,此时hashmap里面存的值,可以计算出当前的j所对应的解有多少。
2024-08-24 21:11:58
353
原创 LeetCode 热题 100打卡第四天
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。
2024-07-30 19:48:23
385
原创 LeetCode 热题 100打卡第三天
这题主要用到了HashSet ,首先将数组中的元素存入hash表中,然后对hash表进行操作。因为要寻找的是最长连续数列,将连续序列划分成一段,遍历hash表找到每一段第一个数,且每个数仅枚举一次。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为。(LeeCode第128题)给定一个未排序的整数数组。
2024-07-29 21:15:09
315
1
原创 LeetCode 热题 100打卡第二天
是String类的一个方法,它返回一个新的字符数组,该数组包含字符串中的所有字符。通过将字符串转换为字符数组,我们可以逐个访问和操作字符串中的每个字符。这道题主要是用到了hash表的思想,通过键值对的划分很容易找到字母异位词,最后直接进行输出。toCharArray()函数。
2024-07-28 21:09:01
400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人