- 博客(43)
- 收藏
- 关注
原创 [温习C/C++]0x08 C++刷题技巧—关联容器使用operator[]访问避坑
摘要:文章讨论了C++中map::operator[]访问的一个常见陷阱:当使用[]访问不存在的键时,会默认插入该键并初始化值(如int初始化为0),而非报错或返回空。通过示例代码展示了这种隐性插入行为如何意外改变map的大小,并提供了更安全的替代方案:推荐使用find()方法检查键是否存在,或使用at()方法(不存在时会抛出异常)。该知识点对于避免刷题和实际开发中的逻辑错误具有重要参考价值。
2025-11-13 13:37:43
341
原创 [温习C/C++]0x07 C++刷题技巧—字符串查找find、find_if、find_first_of和find_last_of
本文介绍了C++字符串查找相关的四个标准库Associated with algorithm: find、findaloof、find_firstot 和 find_last_of。findapi提供了基本的值查找功能;find_if支持谓词条件awatcher;find_first_of用于asean查找第一个匹配字符;find_last_of则用于查找最后一个匹配字符。文章通过代码示例展示了各函数的用法和输出结果,帮助读者掌握这些常用string查找技巧。
2025-10-01 23:40:41
926
原创 [温习C/C++]0x06 坐标系中矩形重叠类问题分析
本文介绍了坐标系中矩形重叠问题的判断方法。通过分析矩形在坐标系中的位置关系,提出了两种判断方式:正向判断法通过比较矩形四个角的坐标位置,当满足四个特定条件时判定为重叠;反向判断法则通过检查矩形是否完全不重叠的四种情况(上下左右分离)来判定。文章还配有图示说明,并给出了具体的判断条件和逻辑关系,为处理矩形重叠问题提供了清晰的解决方案。
2025-09-14 21:34:24
364
原创 [温习C/C++]0x05 C++刷题技巧—set自定义排序及查找
本文介绍了如何在C++中使用自定义排序规则的set容器查找特定元素。通过定义Student结构体和MyCompare比较器,实现了按年龄不同时身高升序、年龄相同时姓名升序的排序规则。重点讲解了lower_bound函数的用法,它基于自定义比较器返回第一个不小于目标值的元素。代码示例展示了如何查找并输出满足条件的学生信息,最后分析解释了查找结果的原因。该技巧适用于需要自定义排序规则的算法题场景。
2025-09-08 07:00:00
577
原创 【鸿蒙】0x03-OHOS camera_framework相机框架编译
本文总结OpenHarmony 4.1.0-Release在RK3568开发板上的编译过程,详细记录了相机框架相关组件的编译步骤。通过执行预编译脚本和带参数编译命令,成功生成libcamera_framework.z.so等3个核心动态库文件。编译结果位于out/rk3568/multimedia/camera_framework目录下,包含.so文件和配置文件。最后提供了将编译产物推送到设备/system目录进行验证的方法,包括使用hdc工具传输文件和重启设备的完整流程。该文档为鸿蒙系统相机模块开发提供了
2025-07-23 23:48:05
399
原创 【RISCV LAB】0x01-安装实验仿真辅助工具
它能够将给定的电路设计翻译成 C++ 或者 SystemC 的库等中间文件,最后使用 C/C++ 编写激励测试,去调用前面生成的中间文件,由 C/C++ 编译器编译执行,来完成仿真。在编译 riscv 工具链的时候,可以编译 multilib 版本的 gcc,这样这个工具,可以同时支持 32 位和 64 位。
2025-03-14 22:45:55
879
原创 【鸿蒙】0x02-LiteOS-M基于Qemu RISC-V运行
Qemu RISC-V虚拟化平台验证的OpenHarmony kernel_liteos_m的代码,目录名为riscv32_virt。RISC-V 虚拟化平台是一个 qemu-system-riscv32 的目标设备,通过它来模拟一个通用的、基于RISC-V架构的单板。这次模拟的配置是:RISC-V架构,1个CPU,128M内存。提示: 系统内存硬编码为128MB。
2025-01-18 02:01:50
1786
原创 【拒绝算法PUA】3297. 统计重新排列后包含另一个字符串的子字符串数目 I
【代码】【拒绝算法PUA】3297. 统计重新排列后包含另一个字符串的子字符串数目 I。
2025-01-09 23:44:11
452
原创 【拒绝算法PUA】 732. 我的日程安排表 III
从图中可以看到前三组数据有重叠, [5,10) 因为是右开区间,所以和前三组数据并无交集,因此当前用例正确结果为3。通过扫描线法可以统计区间重叠问题。
2025-01-04 21:32:56
353
原创 【鸿蒙】0x01-LiteOS-M基于Qemu Arm Cortex-m55运行
OpenHarmony LiteOS-M基于Qemu Arm Cortex-m55。
2024-08-24 01:52:26
1415
原创 【鸿蒙】0x00-OpenHarmony-4.1-Release DAYU200 RK3568开发环境总结(长文版)
OpenHarmony-4.1-Release DAYU200 RK3568开发环境总结。
2024-08-17 08:11:46
2547
原创 【ARM汇编】0x00_基于AndroidStudio构建ARM32-v7a以及ARM64-v8a环境
系统映像要求: 适用于 Android 5.0(API 级别 21)及更高版本的 arm64-v8a 系统镜像|默认情况下,构建系统会以 thumb 模式生成 ARM 目标二进制文件,其中每条指令都是 16 位宽,并与。默认情况下,NDK 构建系统会为所有非弃用 ABI 生成代码。也可以指定多个值,方法是将它们放在同一行上,中间用空格分隔。如截图所示,为hello_arm增加可执行权限,运行打印。下表介绍了 Android SDK 工具的常用环境变量。默认情况下,模拟器会将配置文件存储在。
2024-05-25 17:32:19
4359
4
原创 【拒绝算法PUA】0x02- 区间合并技巧
请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。有重叠,另外两个线段区间没有重叠情况;因此,需要将前两个线段区间进行合并位。中介绍了两个线段区间如何判断是否有交集,对于区间合并场景,也是相通的;即可判断是否有交集,如果有交集,则进行区间合并。所谓区间合并,是指线段区间的合并、线段交集等。表示若干个区间的集合,其中单个区间为。升序排序,目的是将线段分布到同一个横向“题目来总结类似题目的技巧。通过比较不同线段之间的。排序:将线段区间集合。
2024-03-21 03:53:17
543
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅