- 博客(22)
- 收藏
- 关注
原创 claude-code-skills-guide
《Claude Code插件完全指南:四大必备Skills提升AI编程效率》 本文详细介绍了Claude Code的插件系统(Skills),重点推荐四大必备插件:superpowers(开发全流程工具包)、planning-with-files(复杂任务规划)、claude-hud(终端仪表盘)和ralph-loop(循环任务执行器)。文章包含完整的Linux安装配置指南,通过具体案例展示了各插件的核心功能和使用场景,如superpowers的TDD开发流程、planning-with-files的任务分
2026-05-17 11:16:26
493
原创 Claude+DeepSeekv4pro网络信息搜索报告
WebSearch功能测试摘要 测试显示Claude Code的WebSearch功能表现优异: 6组测试(中英文各3组)成功率100%,首条相关性100% 覆盖AI、财税、统计等多领域,平均返回10条结果 时效性优秀,可获取5天内最新技术发布信息 技术文档深度足够,包含代码示例和对比数据 中文搜索质量与英文持平,政府数据可溯源官方公报 主要局限:无高级搜索语法和时间排序控制。相比传统搜索引擎,优势在于AI自动整理结构化信息,隐私性更好。建议作为日常技术调研和文档查阅的高效替代方案。
2026-04-29 16:54:33
638
原创 5分钟彻底搞懂“滑动窗口”:从 LeetCode 第3题开始
滑动窗口算法精解:高效解决子串问题 摘要:本文以LeetCode第3题"无重复字符的最长子串"为例,详细讲解滑动窗口算法的应用。该算法通过双指针(左右指针)和哈希表配合,将时间复杂度优化至O(N)。关键点在于:右指针扩展窗口,左指针在发现重复时收缩窗口,哈希表记录字符最后出现位置。文章包含常见误区警示、C++代码实现、逻辑图解以及完整可运行测试代码,帮助读者彻底掌握这一高频面试技巧。该算法适用于需要处理连续子串/子数组且涉及最值问题的场景。
2026-03-05 21:08:06
435
原创 ROS 2 Jazzy 规范开发与学习指南
本文介绍了ROS2 Jazzy(2024)机器人开发的最佳实践。主要内容包括:选择ROS2 Jazzy的优势(支持至2029年、C++20特性等)、环境配置步骤、标准开发流程(创建功能包、编写节点、编译运行)、常见错误解决方案以及最佳实践(目录结构、代码规范等)。文章还提供了学习路线推荐和资源汇总,帮助开发者从基础到实战循序渐进掌握ROS2开发。特别强调规范化的开发流程和环境配置的重要性,为开发者提供了完整的ROS2开发指南。
2026-02-22 13:18:22
1749
1
原创 2025年A题 烟幕干扰弹的投放策略
本文研究了烟幕干扰弹投放策略优化问题,针对圆柱形固定目标的遮蔽需求建立了数学模型。通过分析不同投放方案,得出以下结论:1)问题1中飞向假目标的策略导致遮蔽时间为0秒;2)问题2优化后单枚干扰弹最大遮蔽时间为6.6667秒;3)问题3中三枚干扰弹仍仅能实现6.6667秒遮蔽;4)问题4三架无人机协同投放可实现8.6667秒遮蔽;5)问题5五架无人机协同投放可达到10.6667秒遮蔽。研究表明,直接飞向真目标并精确控制投放时机是实现有效遮蔽的关键,多无人机协同可显著提升遮蔽效果。
2025-12-09 20:26:26
1270
原创 ID:118 & 119.杨辉三角I & II amanannn
本文介绍了杨辉三角的生成方法及其优化。第一题要求生成前numRows行杨辉三角,通过迭代计算每个数等于其左上方和右上方数之和。第二题要求直接返回指定行号的杨辉三角行,常规解法是先生成前rowIndex+1行再返回结果,优化解法利用单个数组从后往前计算,将空间复杂度降为O(rowIndex)。两题都给出了C++实现代码,展示了杨辉三角的基本性质和高效计算方法。
2025-11-26 22:28:03
244
原创 STM32EXTI外部中断机制与实战解析
本文介绍了STM32中断系统的工作原理与实现方法。主要内容包括:1.中断机制:中断源触发CPU暂停主程序转去处理中断,支持优先级裁决和中断嵌套;2.NVIC中断控制器:管理68个可屏蔽中断通道,支持16级可编程优先级分组(抢占/响应优先级);3.EXTI外部中断:监测GPIO电平变化并触发中断;4.具体应用实例:通过代码示例展示了红外传感器计数和旋转编码器计数的实现方法,详细说明了GPIO配置、中断初始化和中断服务程序编写要点。文章通过医院急诊的类比形象说明了中断优先级机制,并强调了清除中断标志位的重要性。
2025-11-25 20:39:57
1654
原创 ID:13.罗马数字转整数 amanannn
这篇文章介绍了如何将罗马数字转换为整数的算法。罗马数字由I(1)、V(5)、X(10)、L(50)、C(100)、D(500)和M(1000)七个字符组成,遵循特定的组合规则。当较小的数字出现在较大数字左边时表示相减(如IV=4)。算法通过遍历字符串,将每个字符映射为数值,若当前值小于下一个值则减去当前值,否则累加。最终返回累加结果。代码提供了C语言实现,包括字符映射函数romanMap()和转换函数romanToInt(),时间复杂度为O(n)。
2025-11-25 20:36:37
290
原创 ID67:二进制求和 amanannn
摘要: 该问题要求将两个二进制字符串相加返回其二进制形式的和。核心思路是从字符串末尾开始逐位相加,处理进位。实现时,先分配足够的空间存放结果,从后往前遍历两字符串,计算每位和及进位。最后处理前导零并优化内存使用。示例代码包含完整的C语言实现,包括内存分配、进位处理、结果优化和内存释放等关键步骤。例如,"11" + "1"返回"100"。时间复杂度为O(n),空间复杂度为O(n)。
2025-11-13 20:26:57
245
原创 ID21: 合并两个有序链表 amanannn
摘要:本文介绍合并两个升序链表的算法实现。通过创建哑节点作为边界,使用双指针遍历两个链表,比较节点值大小依次连接。时间复杂度O(n+m),空间复杂度O(1)。包含完整C++代码,支持用户输入链表数据、可视化输出结果和内存释放功能。核心思路是每次取较小节点连接,最后处理剩余节点。算法适用于LeetCode第21题,要求输入链表均为非递减顺序排列。
2025-11-13 20:24:42
524
原创 深入解析GPIO:可编程数字信号接口
GPIO(通用输入输出引脚)是微控制器上可编程的数字信号接口,负责芯片与外部设备的通信。基本功能包括:输入用于读取外部电平状态(如按键、传感器信号),输出用于控制外部设备(如点亮LED、驱动继电器)。关键工作模式有三种:推挽输出可主动输出高/低电平,驱动能力强,适用于大多数控制场景;开漏输出仅能主动拉低电平,高电平需外部上拉电阻,支持总线连接和电平转换;上下拉输入内部集成电阻,避免引脚悬空,确保电平稳定。开发要点包括:使用标准库(如HAL库)配置模式、速度等参数;推挽输出直接驱动常规外设,开漏输出用于I²C
2025-11-09 12:16:03
1756
2
原创 ID:9.回文数 amanannn
该题目要求判断给定的整数是否为回文数。回文数是指正序和倒序读取都相同的数字。解题思路首先处理特殊情况:负数直接返回false,个位数直接返回true,以0结尾的非零数返回false。然后通过反转数字的后半部分(避免整数溢出),并与前半部分比较来判断是否为回文。算法时间复杂度为O(log10(n)),空间复杂度为O(1)。该方法不依赖字符串转换,满足进阶要求。
2025-11-05 16:25:30
337
原创 ID:1.两数之和 amanannn
摘要:该问题要求在整数数组中找出和等于目标值的两个数的下标。采用暴力解法,通过双重循环遍历数组,时间复杂度O(n²)。示例展示了如何返回符合条件的下标组合。给出的C语言实现使用malloc分配结果内存,并通过嵌套循环查找匹配的元素对。虽然解法正确,但提示可能存在更优的O(n)时间复杂度的哈希表解法。核心思路简单明确:遍历检查所有可能的元素组合,直到找到满足条件的两个数。
2025-11-05 16:23:29
184
原创 时间复杂度与空间复杂度
文章摘要:本文系统介绍了算法复杂度分析的核心概念,重点阐述了时间复杂度和空间复杂度的定义与计算方法。通过代码示例展示了常见复杂度如O(1)、O(n)、O(n²)、O(logn)的实现形式,对比了递归和迭代的斐波那契数列解法。文章提供了复杂度计算的基本规则(加法、乘法规则)和具体步骤,并附有冒泡排序、二分查找等算法的详细分析。最后给出实用建议:优先考虑时间复杂度,避免指数级复杂度,在适当情况下可用空间换时间。
2025-11-03 21:07:18
1011
原创 堆内存的艺术:从代码看内存管理
本文探讨了堆内存管理的艺术与技术挑战。通过测试程序发现,理论内存与实际可分配内存存在差异,揭示了内存碎片等问题。文章提供了实用建议:分块分配策略、返回值检查、合理释放时机,并强调跨平台差异。现代语言的自动化内存管理启示我们,优秀的抽象能降低认知负担。内存管理是设计哲学与工程实践的体现,需要在自由与约束间寻找平衡,才能写出高效稳健的程序。
2025-11-02 22:12:19
296
原创 C内存管理:栈、堆与动态分配
本文介绍了C程序中内存使用的三种形式:静态/全局内存(程序生命周期)、自动内存(函数调用时创建释放)和动态内存(需手动管理)。重点讲解了动态内存管理的三个核心函数:1) malloc分配内存并返回指针,需配合free释放;2) calloc在分配时自动初始化为0;3) realloc可调整已分配内存大小,支持原地或异地扩容。通过代码示例演示了这些函数的正确使用方法,强调要注意内存释放和指针有效性检查,避免内存泄漏等问题。
2025-10-30 23:49:02
806
原创 结构体&typedef amanann
本文介绍了C语言中结构体和typedef的使用方法。结构体部分讲解了基本声明方式、创建结构体函数以及指针访问成员的两种形式((*pp).x和pp->x)。typedef部分展示了如何为数据类型定义别名,并说明其与结构体结合使用的优势,可以简化代码书写。文中通过具体代码示例演示了结构体初始化、指针操作以及typedef定义新类型名的实际应用,为后续数据结构学习打下基础。
2025-10-28 23:04:30
380
原创 2.1 点亮第一颗LED灯
学习单片机需要掌握看原理图和用户手册,不能只依赖视频教程。LED模块通过高低电平控制亮灭(高电平1、低电平0),默认状态下LED不亮。通过改变引脚电平(如P2=0xFE或P2_1=0)可使LED发光。实际操作包括新建工程、编写程序(如包含死循环保持运行)、编译烧录等步骤。理解原理后,LED控制变得简单,为后续实现闪烁和流水灯打下基础。
2025-10-24 19:28:30
543
原创 Keil5环境搭建与51单片机开发指南
本文介绍了51单片机开发环境的搭建与项目创建流程。环境搭建部分强调要正确下载Keil5,注意破解时需以管理员身份运行,并推荐使用网盘资源。项目创建建议使用英文目录,选择兼容芯片AT89C52,并创建C语言源文件。最后提到可以从点亮LED开始实践。文中还提供了问题求助渠道,整体内容实用且注重细节。
2025-10-23 10:24:48
566
原创 C语言指针揭秘:老手与新手的本质差别
C语言中指针的运用是区分新手和老手的重要标志。指针本质是存储内存地址的变量,通过解引用操作符*可获取或修改目标值。文章通过变量声明、地址传递、swap函数实现等示例,展示了指针的核心用法,包括指针与数组的关联(指针加减实际移动字节数为数据类型大小)。掌握指针的关键在于理解内存地址操作原理,这是提升C语言编程能力的重要环节。
2025-10-22 09:41:56
561
原创 1.0 什么是单片机
摘要:单片机是将CPU、内存、接口电路集成到单一芯片的微型计算机,具有"感知-处理-执行"能力。学习建议:1)先掌握C语言基础;2)新手推荐从51系列入门,再进阶STM32;3)推荐B站江协科技的51单片机系统课程。该系列市场份额大、资料丰富,是学习高端MCU的基础。(149字)
2025-10-20 21:47:40
293
原创 0.0 前言
嵌入式学习指南:构建软硬结合的知识体系 本文总结了嵌入式学习的核心要点:1)学习难点在于软硬件耦合性强,需跨领域知识整合;2)知识体系分为硬件基础、软件核心和实战能力三个层级;3)推荐10-12个月的三阶段学习路线:入门筑基(1-3个月)-技能深化(4-8个月)-实战落地(9-12个月);4)嵌入式技术就业前景广阔,在物联网、汽车电子等领域需求旺盛,且技术壁垒高。文章强调自学的重要性,鼓励跨专业学习者勇于尝试。
2025-10-20 14:16:26
879
空空如也
无法使用Linux操作系统,Ubuntu找不到指定文件
2025-10-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅