- 博客(58)
- 收藏
- 关注
原创 介绍结构体
数组用来存放一批相同类型的数据;而结构体(struct)允许我们自定义一个复合类型,把若干不同类型、逻辑上属于同一个整体的数据打包在一起。举个例子:描述一名学生,需要学号(int)、姓名(char 数组 /string)、身高(double),这些信息类型不一样,就适合封装进结构体。int id;Student是我们新定义的类型名;花括号内部是成员列表;末尾的分号不能省略,这是很多新手易错点。int id;// 创建结构体变量Student s1;int id;} s2, s3。
2026-11-11 10:00:17
89
原创 介绍结构体
数组用来存放一批相同类型的数据;而结构体(struct)允许我们自定义一个复合类型,把若干不同类型、逻辑上属于同一个整体的数据打包在一起。举个例子:描述一名学生,需要学号(int)、姓名(char 数组 /string)、身高(double),这些信息类型不一样,就适合封装进结构体。int id;Student是我们新定义的类型名;花括号内部是成员列表;末尾的分号不能省略,这是很多新手易错点。int id;// 创建结构体变量Student s1;int id;} s2, s3。
2026-11-11 09:57:52
279
原创 整数和浮点数在内存中存储
存储编码整数:纯二进制补码浮点数:符号 + 阶码 + 尾数(科学计数法二进制版本)精度整数:区间内全部精确浮点数:存在舍入误差运算整数运算速度更快浮点数硬件运算代价更高使用坑点浮点数禁止直接判等;小数尽量避免连续累加产生误差;整数转浮点、浮点转整数可能丢失精度。
2026-08-12 07:58:04
207
原创 The Blocks Problem
本题主要考察vector数组的使用,可以通过抽象出操作find()、clear()、move(),然后分情况组合解决问题坚持编程,我一直在路上!
2026-04-10 22:08:56
360
原创 LeetCode每日一题——无重复字符的最长子串
/ans用于记录无重复字符的最长子串的长度;left作为左边界指针。//c字符对应的ASCII值在cnt数组对应位置的元素加1。,请你找出其中不含有重复字符的。因为无重复字符的最长子字符串是。请注意,你的答案必须是。//更新无重复字符的最长子串的长度。因为无重复字符的最长子字符串是。//标准ASCII值一共128个。//逐一遍历字符串的每一个元素。//c储存right指向的字符。来源:力扣(LeetCode)因为无重复字符的最长子串是。//left指向下一个字符。,所以其长度为 1。,所以其长度为 3。
2025-11-14 18:39:56
180
原创 LeetCode每日一题——两数相加(详细解释)
/如果链表l1和l2元素都已遍历,还有进位,则再创建一个位置来储存进位。//链表l1和链表l2对应位置的数值相加再加上进位为sum。//当链表l1和l2其中一个有元素时,循环继续进行。//接受链表l1对应位置的数值,没有就用0来代替。//接受链表l2对应位置的数值,没有就用0来代替。//避免当前tail指针的下一位出现野指针。//更新tail指针的下一位指向的元素。//为tail指针的下一位分配空间。//设置新链表的头指针和尾指针。//更新最终链表对应位置的元素。//得到两数相加后的新链表。
2025-11-06 13:13:07
495
原创 LeetCode每日一题——两数相加
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。来源:力扣(LeetCode)坚持编程,我一直在路上!
2025-11-02 20:24:29
356
原创 LeetCode每日一题——反转链表
/只要curr不为NULL,就执行循环代码。//让next保存curr的下一个节点指针。,请你反转链表,并返回反转后的链表。//返回头节点即可输出反转后的链表。来源:力扣(LeetCode)/prev初始为NULL。//curr指向prev。//prev向后移动一位。//curr向后移动一位。坚持编程,我一直在路上!
2025-10-31 20:20:32
211
原创 LeetCode每日一题——合并两个有序链表
新链表是通过拼接给定的两个链表的所有节点组成的。// 注:相等的情况加哪个节点都是可以的。// 把 list2 加到新链表中。// 把 list1 加到新链表中。将两个升序链表合并为一个新的。// cur 指向新链表的末尾。来源:力扣(LeetCode)// 用哨兵节点简化代码逻辑。坚持编程,我一直在路上!
2025-10-30 17:47:08
272
原创 LeetCode每日一题——Pow(x, n)
/ 从低到高枚举 n 的每个比特位。// 把 x 乘到 ans 中。来源:力扣(LeetCode)// 继续枚举下一个比特位。坚持编程,我一直在路上!// 这个比特位是 1。
2025-10-29 21:59:55
291
原创 LeetCode每日一题——字符串相乘
不能使用任何内置的 BigInteger 库或直接将输入转换为整数。的乘积,它们的乘积也表示为字符串形式。给定两个以字符串形式表示的非负整数。来源:力扣(LeetCode)
2025-10-23 22:03:02
508
原创 LeetCode每日一题——缀点成线
请你来判断,这些点是否在该坐标系中属于同一条直线上。//用交叉相乘是否相等来判断是否共线。//若点数小于或等于2则一定共线。//只要有一点不共线,结果都不相等。//点、线都满足则共线。
2025-10-21 21:30:37
380
原创 LeetCode每日一题——三角形的最大周长
因为我们不能用任何三条边长来构成一个非零面积的三角形,所以我们返回 0。如果不能形成任何面积不为零的三角形,返回。你可以用三个边长组成一个三角形:1 2 2。不能用边长 1、2 和 10 来构成三角形。你不能用边长 1,1,2 来组成三角形。不能用边长 1,1,10 来构成三角形。给定由一些正数(代表长度)组成的数组。来源:力扣(LeetCode)由其中三个长度组成的、
2025-10-20 22:02:39
572
原创 LeetCode每日一题——柠檬水找零
对于最后一位顾客,我们无法退回 15 美元,因为我们现在只有两张 10 美元的钞票。对于接下来的 2 位顾客,我们收取一张 10 美元的钞票,然后返还 5 美元。第 5 位顾客那里,我们找还一张 10 美元的钞票和一张 5 美元的钞票。第 4 位顾客那里,我们收取一张 10 美元的钞票,并返还 5 美元。前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。前 2 位顾客那里,我们按顺序收取 2 张 5 美元的钞票。//10出现在第二位或以后位置,更新5美元和10美元的数量。
2025-10-18 22:03:32
567
原创 LeetCode每日一题——去掉最低工资和最高工资后的平均工资值
去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500。去掉最低工资和最高工资以后的平均工资是 (2000)/1= 2000。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。最低工资和最高工资分别是 1000 和 4000。最低工资和最高工资分别是 1000 和 3000。//有比Mini小的数就更新Mini。//有比Max大的数就更新Max。//初始化最大值为数组首元素。//初始化最小值为数组首元素。//求出所有元素的和。
2025-10-17 21:59:54
413
原创 LeetCode每日一题——在区间范围内统计奇数数目
3 到 7 之间奇数数字为 [3,5,7]。8 到 10 之间奇数数字为 [9]。//不管是否为奇数,low都+1。之间(包括二者)奇数的数目。坚持编程,我一直在路上!
2025-10-16 21:39:17
499
原创 LeetCode每日一题——矩阵置0
matrix[i][j]相当于matrix[i][j] == 0。,则将其所在行和列的所有元素都设为。来源:力扣(LeetCode)的矩阵,如果一个元素为。//用于标记0所在的行和列。//初始化行数组中元素为0。//初始化列数组中元素为0。//筛选出0所在的行和列。//让0所在行和列都为0。//标记0所在的行和列。
2025-10-15 21:36:00
972
原创 LeetCode每日一题——螺旋矩阵
/控制directionIndex在0~3之间,继续下一个循环。来源:力扣(LeetCode)//分别表示矩阵的行数和列数。,返回矩阵中的所有元素。//用来标记元素是否被访问。//包含矩阵无元素的情况。坚持编程,我一直在路上!//访问完标记该位置。
2025-10-14 22:03:01
1388
原创 LeetCode每日一题——矩阵对角线元素的和
请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。对角线的和为:1 + 5 + 9 + 3 + 7 = 25。请注意,元素 mat[1][1] = 5 只会被计算一次。,请你返回矩阵对角线元素的和。来源:力扣(LeetCode)//n表示矩阵的行数和列数。//表示对角线上元素的特征。//初始化sum为0。
2025-10-13 21:41:56
626
原创 LeetCode每日一题——最富有客户的资产总量
两位客户都是最富有的,资产总量都是 6 ,所以返回 6。就是他们在各家银行托管的资产数量之和。家银行托管的资产数量。返回最富有客户所拥有的。第 2 位客户是最富有的,资产总量是 10。//定义maxWealth为整型的最小值。//先比较大小,然后更新最大值。来源:力扣(LeetCode)//定义宏,精简比较代码。
2025-10-12 18:13:08
731
原创 LeetCode每日一题——困于环中的机器人
/如果机器人朝向没有改变或者回到原点,则返回true,否则返回false。只有在平面中存在环使得机器人永远无法离开时,返回。在无限的平面上,机器人最初位于。来源:力扣(LeetCode)//分别代表上、右、下、左。坚持编程,我一直在路上!机器人按顺序执行指令。//获取字符串的长度。//控制在0~3之间。
2025-10-11 18:50:29
580
原创 LeetCode每日一题——找出井字棋的获胜者
/ 将 moves 填入虚拟棋盘, a 为 -1 , b 为 1。),就返回该游戏的获胜者;如果游戏以平局结束,则返回。的棋盘上进行的游戏。如果仍会有行动(游戏未结束),则返回。//相当于判断i % 2是否为0。来源:力扣(LeetCode)// 横向、纵向判断。规则),网格最初是空的,如果游戏存在获胜者(
2025-10-10 22:00:54
545
原创 LeetCode每日一题——机器人能否返回原点
机器人向左移动两次。它最终位于原点的左侧,距原点有两次 “移动” 的距离。我们返回 false,因为它在移动结束时没有返回原点。机器人向上移动一次,然后向下移动一次。所有动作都具有相同的幅度,因此它最终回到它开始的原点。//获取字符指针moves指向字符串中有效字符的个数并初始化x和y。//如果最终坐标为(0, 0)返回true,否则返回false。此外,假设每次移动机器人的移动幅度相同。给出它的移动顺序,判断这个机器人在完成移动后是否在。如果机器人在完成所有动作后返回原点,则返回。
2025-10-09 19:27:18
566
原创 LeetCode每日一题——棒球比赛
"+" - 记录加 9 + 5 = 14 ,记录现在是 [5, -2, -4, 9, 5, 14]"+" - 记录加 -4 + 9 = 5 ,记录现在是 [5, -2, -4, 9, 5]"D" - 记录加 2 * -2 = -4 ,记录现在是 [5, -2, -4]"9" - 记录加 9 ,记录现在是 [5, -2, -4, 9]"4" - 记录加 4 ,记录现在是 [5, -2, 4]"-2" - 记录加 -2 ,记录现在是 [5, -2]"2" - 记录加 2 ,记录现在是 [5, 2]
2025-10-08 20:46:37
1300
原创 LeetCode每日一题——转换成小写字母
将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。//k中储存s对应位置元素的和'a'的差值。//控制为大写字母,其他字符不包括在内。//将大写字母转换为小写字母。//遍历s的每位元素。
2025-10-07 15:01:04
529
原创 LeetCode每日一题——最后一个单词的长度
由若干单词组成,单词前后用一些空格字符隔开。是指仅由字母组成、不包含任何空格字符的最大子字符串。//j>0是为了防止越界访问,j指向元素不为空时计数。最后一个单词是长度为 6 的“joyboy”。//strlen除了'\0'外都会计数。最后一个单词是“World”,长度为 5。最后一个单词是“moon”,长度为 4。来源:力扣(LeetCode)//让i指向字符串的最后一位。//作差得最后一个单词的长度。//跳过字符串末尾的空字符。坚持编程,我一直在路上!//让j指向i的前一位。
2025-10-06 13:22:30
597
原创 LeetCode每日一题——罗马数字转整数
数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为。通常情况下,罗马数字中小的数字在大的数字的右边。//除了以上特殊情况,遇到M就+1000。//除了以上特殊情况,遇到C就+100。//除了以上特殊情况,遇到D就+500。//除了以上特殊情况,遇到X就+10。//除了以上特殊情况,遇到L就+50。给定一个罗马数字,将其转换成整数。//除了以上特殊情况,遇到I就+1。//除了以上特殊情况,遇到V就+5。,即为两个并列的 1。//计算s的元素个数。
2025-10-05 11:31:19
1155
原创 LeetCode每日一题——单调数列
如果数组是单调递增或单调递减的,那么它是。//根据flag的值判断数列单调性。来源:力扣(LeetCode)//若出现减的情况则不单调。//若出现增的情况则不单调。//假设数列单调递增。//假设数列单调递减。
2025-10-04 21:35:55
543
原创 LeetCode每日一题——判断能否形成等差数列
对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为。//判断数组相邻元素差值的绝对值是否相等。如果可以重新排列数组形成等差数列,请返回。无法通过重新排序得到等差数列。//将数组元素升序处理。
2025-10-03 21:35:04
545
原创 LeetCode每日一题——数组元素积的符号
数组中所有值的乘积是 144 ,且 signFunc(144) = 1。数组中所有值的乘积是 -1 ,且 signFunc(-1) = -1。数组中所有值的乘积是 0 ,且 signFunc(0) = 0。//通过返回值可确定结果的正负。//用于判断结果非零时的正负。//如果有0,则直接返回0。坚持编程,我一直在路上!中所有元素值的乘积。//遇到负号,符号颠倒。
2025-10-02 12:54:49
408
原创 LeetCode每日一题——加1
加 1 后得到 4321 + 1 = 4322。//如果所有位都是9,就扩大一位数组空间。//如果最后一位不是9,就加1,然后返回数组。加 1 后得到 123 + 1 = 124。将大整数加 1,并返回结果的数字数组。因此,结果应该是 [4,3,2,2]。加 1 得到了 9 + 1 = 10。//不管是几位数,先让首位是0。//如果是9,就让当前位是0。因此,结果应该是 [1,2,4]。因此,结果应该是 [1,0]。输入数组表示数字 4321。输入数组表示数字 123。输入数组表示数字 9。
2025-10-01 11:56:32
824
原创 LeetCode每日一题——移动零
/如果right指向元素不为0,就交换两个指针指向的元素。请注意 ,必须在不复制数组的情况下原地对数组进行操作。移动到数组的末尾,同时保持非零元素的相对顺序。输入: nums = [0,1,0,3,12]//left用于标识非0元素的位置。输出: [1,3,12,0,0]//right用于遍历整个数组。输入: nums = [0]坚持编程,我一直在路上!,编写一个函数将所有。
2025-09-30 21:09:13
534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅