- 博客(69)
- 收藏
- 关注
原创 LeetCode Hot100【链表-23. 合并 K 个升序链表】
【代码】LeetCode Hot100【链表-23. 合并 K 个升序链表】
2025-03-28 22:30:30
357
原创 LeetCode Hot100【二分法-153. 寻找旋转排序数组中的最小值】
【代码】LeetCode Hot100【二分法-153. 寻找旋转排序数组中的最小值】
2025-03-28 22:25:29
461
原创 LeetCode Hot100【二分法-33. 搜索旋转排序数组】
可以修改算法,查找旋转排序数组中最小值出现的所有位置(如果最小值重复)。可以在二分查找中加条件来处理重复值。可以通过直接修改原数组来减少空间的使用。例如,修改数组元素来标记是否访问过,避免额外的空间分配。
2025-03-28 22:17:21
435
原创 LeetCode Hot100【二分法-34. 在排序数组中查找元素的第一个和最后一个位置】
【代码】LeetCode Hot100【二分法-34. 在排序数组中查找元素的第一个和最后一个位置】
2025-03-27 14:53:03
374
原创 LeetCode Hot100【二叉树-124. 二叉树中的最大路径和】
可以通过非递归的方式来解决树的最大路径和问题,如通过后序遍历迭代方法来计算每个节点的路径和。
2025-03-27 14:42:50
392
原创 LeetCode Hot100【二叉数-236. 二叉树的最近公共祖先】
【代码】LeetCode Hot100【二叉数-236. 二叉树的最近公共祖先】
2025-03-26 15:46:23
430
原创 LeetCode Hot100【二叉数-437. 路径总和 III】
【代码】LeetCode Hot100【二叉数-437. 路径总和 III】
2025-03-25 16:41:09
443
原创 LeetCode Hot100【二叉树-105. 从前序与中序遍历序列构造二叉树】
【代码】LeetCode Hot100【二叉树-105. 从前序与中序遍历序列构造二叉树】
2025-03-24 15:41:48
326
原创 LeetCode Hot100【二叉树-114. 二叉树展开为链表】
【代码】LeetCode Hot100【二叉树-114. 二叉树展开为链表】
2025-03-23 22:32:52
424
原创 LeetCode Hot100【二叉树-230. 二叉搜索树中第 K 小的元素】
【代码】LeetCode Hot100【二叉树-230. 二叉搜索树中第 K 小的元素】
2025-03-21 15:32:16
331
原创 LeetCode Hot100【二叉树-108. 将有序数组转换为二叉搜索树】
【代码】LeetCode Hot100【二叉树-108. 将有序数组转换为二叉搜索树】
2025-03-20 16:02:39
416
原创 LeetCode Hot100【二叉树-102. 二叉树的层序遍历】
【代码】LeetCode Hot100【二叉树-102. 二叉树的层序遍历】
2025-03-19 21:40:56
152
原创 LeetCode Hot100【数组-238. 除自身以外数组的乘积】
【代码】LeetCode Hot100【数组-238. 除自身以外数组的乘积】
2025-03-18 20:13:22
288
原创 【C++】面向对象的三大特性:封装、继承、多态(4)
是 C++ 面向对象编程(OOP)的核心特性之一,它允许同一个接口在不同情况下表现出不同的行为。在C++中,继承是通过:(冒号)+访问控制修饰符(public、protected、private)实现的。(参数类型或个数),编译器根据参数自动选择合适的函数。实现,保证了代码的扩展性和灵活性。(如工厂模式)中,多态至关重要。
2025-03-17 22:21:11
1122
原创 【C++】面向对象的三大特性:封装、继承、多态(3)
Student继承Person,但Person没有默认构造函数,所以必须在子类构造函数中调用父类构造函数Person(n)。在C++中,继承是通过:(冒号)+访问控制修饰符(public、protected、private)实现的。子类的构造顺序:先调用父类Person的构造函数,再执行Student的构造函数。子类不会继承父类的构造函数,但可以在子类的构造函数中调用父类的构造函数。C++支持多层继承,即一个子类可以继承另一个子类。
2025-03-17 22:20:18
488
原创 【C++】面向对象的三大特性:封装、继承、多态(2)
在C++中,封装(Encapsulation)主要通过访问控制修饰符(Access Specifiers)和类(Class)机制来实现。C++允许程序员控制类内部成员(变量和方法)的可访问性,从而隐藏实现细节,并提供受控的接口。C++提供friend关键字,让某个函数或类可以访问private成员。友元破坏了封装性,但在某些情况下(如操作符重载)是必要的。
2025-03-17 22:19:07
624
原创 【C++】面向对象的三大特性:封装、继承、多态(1)
封装是指将数据(成员变量)和方法(成员函数)捆绑在一起,并通过访问控制修饰符(如public、protected、private)限制外部对内部数据的直接访问。这样外部只能通过类提供的接口与数据交互,从而隐藏对象的实现细节,提高代码的安全性和可维护性。:继承是指一个类(子类)可以继承另一个类(父类)的属性和方法,从而实现代码复用和扩展。子类可以直接使用父类的公共成员,也可以重写父类的方法来实现自己的功能。它分为编译时多态(静态多态)和运行时多态(动态多态)。
2025-03-17 22:15:09
869
原创 【STM32】Fatfs文件系统(2)—库函数API使用
模式标志,用于指定文件的访问类型和打开方法。用于移动打开文件对象的文件读/写指针。在逻辑驱动器上创建FAT/exFAT卷。读取文件数据并将其转发到数据流设备。用于将文件截断在读/写指针的位置。为文件准备或分配连续的数据区域。重命名和/或移动文件或子目录。获取文件的当前读/写指针。检查文件或子目录是否存在。更改文件或子目录的时间戳。更改逻辑驱动器的当前目录。检索当前驱动器的当前目录。刷新写入文件的缓存信息。从卷中删除文件或子目录。更改文件或子目录的属性。获取卷上的可用簇的数量。返回卷的卷标和卷序列号。
2025-03-16 16:48:22
1282
原创 【STM32】Fatfs文件系统(1)—结构体配置
当 API 上的字符编码为 Unicode(FF_LFN_UNICODE> = 1)时,字符串 I/O 函数,f_gets,f_putc,f_puts和 f_printf 将转换其中的字符编码。当FF_MAX_SS > FF_MIN_SS 时,启用对可变扇区大小的支持,并且需要对 disk_ioctl 函数实现 GET_SECTOR_SIZE 命令。如果您需要知道FAT32 卷上的正确可用空间,请设置此选项的第0位,并且在卷 mount 后第一时间执行 f_getfree函数,将强制进行完整的FAT扫描。
2025-03-16 16:45:53
1029
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人