自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 2105. 给植物浇水 II

\

2024-05-09 11:13:40 258

原创 leetcode 2583.二叉树中的第K大层和

给你一棵二叉树的根节点root和一个正整数k。树中的是指上节点值的总和。返回树中第k大的层和(不一定不同)。如果树少于k层,则返回-1。,如果两个节点与根节点的距离相同,则认为它们在同一层。13树中每一层的层和分别是:第 2 大的层和等于 13。3最大的层和是 3。

2024-02-23 15:49:52 1432

原创 leetcode 1689.十-二进制数的最少数目

如果一个十进制数字不含任何前导零,且每一位上的数字不是0就是1,那么该数字就是一个。例如,101和1100都是,而112和3001不是。给你一个表示十进制整数的字符串n,返回和为n的的最少数目。

2024-02-02 10:24:52 366

原创 leetcode 1686.石子游戏

Alice 和 Bob 轮流玩一个游戏,Alice 先手。一堆石子里总共有n个石子,轮到某个玩家时,他可以一个石子并得到这个石子的价值。Alice 和 Bob 对石子价值有。双方都知道对方的评判标准。给你两个长度为n的整数数组和bobValues。和分别表示 Alice 和 Bob 认为第i个石子的价值。所有石子都被取完后,得分较高的人为胜者。如果两个玩家得分相同,那么为平局。两位玩家都会采用进行游戏。1-101。

2024-02-02 09:58:36 491

原创 leetcode 2846.边权重均等查询

定义两个结构体:node和my_st,用于存储随机生成的树节点信息和查完路径后计算最多出现的那个路径长度的出现次数。叫my_st是因为不知道起什么名字好。int index;} Node_t;int len;}my_st;

2024-01-27 15:48:17 1665 1

原创 leetcode 2859.计算k置位下标对应的元素和

给你一个下标从开始的整数数组nums和一个整数k。请你用整数形式返回nums中的特定元素之,这些特定元素满足:其对应下标的二进制表示中恰存在k个置位。整数的二进制表示中的 1 就是这个整数的。例如,21的二进制表示为10101,其中有3个置位。13下标的二进制表示是:0 = 00021 = 00122 = 01023 = 01124 = 1002下标 1、2 和 4 在其二进制表示中都存在 k = 1 个置位。

2024-01-25 14:41:46 895

原创 leetcode 2865. 美丽塔 I

heights 是个山脉数组,最大值在 i = 2 处。- heights 是个山脉数组,峰值在 i = 0 处。- heights 是个山脉数组,峰值在 i = 3 处。没看懂,但是时间复杂度是On,空间是O1,我去学下。时间复杂度是O(n^2),空间复杂度是O(1);注意,在这个方案中,i = 3 也是一个峰值。13 是所有美丽塔方案中的最大高度和。22 是所有美丽塔方案中的最大高度和。18 是所有美丽塔方案中的最大高度和。如果以下条件满足,我们称这些塔是。你的任务是在坐标轴上建。

2024-01-24 15:15:10 476

原创 leetcode 2809.使数组和小于等于x的最少时间

先写个结构体存n1/n2,这个比率我愿称之为n1的阳寿比,这个比率越大,在某些情况下,说明这个n1的阳寿太长了,得赶紧砍掉,这样就可以保证整个数组成长曲线是最低的,在数字特别大的情况下,这个比率可以优先删除大的数字。之所以写了两个while,是因为在某些情况下,无脑删除整个数组最大的数有可能会比砍阳寿更快,因为有些初始值大且增长值也较大的,在增长起来之前,初始值清楚就可以达到sum<x的目的,因此得做一遍检查。AA宏注释掉就是提交到leetcode的,AA不注释就是本地调试的,有兴趣的可以自己调试下。

2024-01-19 11:45:20 507 1

原创 leecode 15.三数之和

这个题目一拿到手我的想法是把这些数字分成正数和负数,因为如果要得到sum = 0的话,一定要有一个负数,但是这样的话忽略了3个0的情况,因此没有全部通过,而且如果负数正数这么搜索的话,一正一负拿完,如果有重复数字需要重复利用,会导致输出的三元组存在重复的情况,因此需要去重,这个思路的代码是思路1代码。正常的思路应该是先把数组升序排列,用一个指针遍历数组,再在遍历的时候用双指针从两头向中间逼近,筛出剩余数据。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。

2024-01-16 14:48:19 1257 1

原创 leecode 11.盛水最多的容器

滑动窗口算法的关键在于,窗口的移动通常是单向的,而且通常只需要线性时间就可以找到问题的解。两个指针分别从数组的两端开始,向中间移动,直到它们相遇。在每一步中,我们都会根据当前指向的两个线段来计算容器的面积,并更新最大面积。注意这个不是滑动窗口,因为尽管这段代码中的双指针技术在操作上看起来像是一个窗口在数组上滑动,但它的目的是为了寻找两条线段之间的最大面积,而不是为了维护满足特定条件的子数组。解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。输入:[1,8,6,2,5,4,8,3,7]

2024-01-15 11:38:37 301

原创 leecode 82.删除排序链表中的重复元素 II

2、发现curr 和next val相同,此时如果只删除curr,那么删除之后,发现next节点的val和next->next->val不同,可能会导致next被错误保留 ——解决方法:声明一个int 保存相同的val的值,在内部循环判断next->val是否等于这个值,这样就可以保证所有val等于这个duplicate的全部被摘除。输入:head = [1,2,3,3,4,4,5]输入:head = [1,1,1,2,3]3、返回的时候记得返回的是假节点的son。输出:[1,2,5]

2024-01-15 10:52:40 441

原创 leecode 冗余连接

输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, ..., N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边使得图不再是一棵树。这题用并查集,其他dfs这些时间复杂度都是O(边数+节点数),并查集是O(边数),因为只是数组中的某个边查一次,快一点。输入: [[1,2], [2,3], [3,4], [1,4], [1,5]]给定的图是以数组形式给出的,每个数组的长度为2,表示附加的边的两个顶点。输入: [[1,2], [1,3], [2,3]]

2024-01-12 13:51:35 606

原创 leecode 装饰树

输出:[3,-1,-1,1,null,null,7,-1,-1,null,-1,3,null,null,8,null,4]在一个 父节点 x 与其左子节点 y 之间添加 -1 节点, 节点 -1、节点 y 为各自父节点的左子节点,在一个 父节点 x 与其右子节点 y 之间添加 -1 节点, 节点 -1、节点 y 为各自父节点的右子节点,若一个节点拥有父节点,则在该节点和他的父节点之间插入一个灯饰(即插入一个值为 -1 的节点)。输出:[7,-1,-1,5,null,null,6]

2024-01-12 10:31:42 328

原创 leecode 找树左下角的值

一个找最深值的函数,如果当前深度比最大值大,更新深度和bottomLeftValue,由于同深度只更新一次val,左路优先搜索的情况下一定找到左值,然后查子节点是否为空,全部遍历一次。给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。提示: 二叉树的节点个数的范围是 [1,104] -231 <= Node.val <= 231 - 1。2: 输入: [1,2,3,4,null,5,6,null,null,7]输入: root = [2,1,3]

2024-01-12 09:58:29 418

原创 leecode 构造有效字符串的最小插入数

给你一个字符串 word ,你可以向其中任何位置插入 "a"、"b" 或 "c" 任意次,返回使 word 有效 需要插入的最少字母数。提示: 1 <= word.length <= 50 word 仅由字母 "a"、"b" 和 "c" 组成。解释:在 "b" 之前插入 "a" ,在 "b" 之后插入 "c" 可以得到有效字符串 "abc"。解释:在每个 "a" 之后依次插入 "b" 和 "c" 可以得到有效字符串 "abcabcabc"。输入:word = "abc"输入:word = "b"

2024-01-11 17:24:41 332

原创 leecode 两数相加

示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0] 输出:[0] 示例 3: 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] 输出:[8,9,9,9,0,0,0,1] 提示: 每个链表中的节点数在范围 [1, 100] 内 0

2024-01-11 16:50:08 388

原创 以前不知道的小知识

例如,假设我们有一个8位的带符号整数(在二进制表示中,最高位是符号位),如果我们想要将这个整数扩展到16位,那么我们需要复制原来的符号位到新的高8位。4. 根据原始数值的符号位,将新数据类型的高位全部设置为0(如果符号位是0,即原始数值为正数)或全部设置为1(如果符号位是1,即原始数值为负数)。3. **避免额外的成本**:不对齐的数据访问可能导致额外的处理成本,如需要额外的指令和更多的CPU周期来处理不对齐的数据。- **平台依赖性**:不同的平台可能有不同的对齐要求,开发者需要了解目标平台的具体要求。

2024-01-10 08:55:15 346

空空如也

空空如也

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

TA关注的人

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