自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Git基本使用命令简略版

本文详细介绍了Git版本控制系统的配置与使用流程。主要内容包括:1)前期准备,包括Git安装、全局用户配置和SSH密钥设置;2)本地仓库初始化步骤,从创建.gitignore文件到首次提交;3)关联Gitee和GitHub远程仓库并推送代码的方法;4)日常开发中的同步推送流程;5)关键补充说明,如查看远程仓库、分支管理和常见问题解决。文章提供了完整的Git操作指南,帮助开发者实现代码的本地管理和远程同步。

2025-12-09 21:35:47 795

原创 数据结构算法-哈希表:四数之和

摘要: 本文解析LeetCode四数之和问题,要求从数组中找出所有和为target且不重复的四元组。核心思路包括:1)排序数组以便双指针调整和去重;2)双层循环固定前两数,结合剪枝优化(提前终止无效搜索)和去重逻辑;3)双指针查找后两数,通过比较总和动态调整指针位置。代码实现中注意处理整数溢出和重复元素,确保结果唯一性。算法时间复杂度为O(n³),适用于中等规模数据。

2025-11-16 21:07:23 892

原创 数据结构算法-哈希表:三数之和

不信的同学可以去尝试用哈希表做一下,就知道难度了,有点类似大一的时候写的,找出数组中两两不相同的数的组合,不过这里是找不同数组的组合。给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,个人总结学习用,对部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,先说结论:梦破碎的地方!请你找出所有满足条件且不重复的三元组。先对数组排序(关键前提)。用一层 for 循环遍历数组,固定。答案中不可以包含重复的三元组。在数组中找到所有不重复的三元组。重复导致三元组重复)。

2025-11-16 20:58:20 1228

原创 数据结构算法:哈希表-赎金信

383. 赎金信 - 力扣(LeetCode)给你两个字符串:ransomNote和 magazine,判断 ransomNote能不能由 magazine里面的字符构成。如果可以,返回true;否则返回false。magazineransomNote赎金信中的两个字符串 ransomNote与 magazine。

2025-11-10 18:57:07 958

原创 数据结构算法-哈希表:四数相加II

摘要:本文介绍了LeetCode 454题"四数相加II"的解题方法。给定四个整数数组A、B、C、D,找出满足A[i]+B[j]+C[k]+D[l]=0的元组数量。核心思路是采用分组+哈希表策略:先将A+B的和存入哈希表(和为键,出现次数为值),然后计算C+D的和,在哈希表中查找对应的相反数。这种方法利用空间换时间,将O(n⁴)复杂度优化为O(n²)。文中提供了Java代码实现,包含详细注释,并给出测试用例验证。该方法适用于数组长度≤500的情况,整数范围在-2²⁸到2²⁸-1之间。

2025-11-09 15:04:30 1055

原创 数据结构算法-哈希表:两数之和

力扣题目链接。

2025-11-06 21:14:42 1108

原创 高频面试题:数据结构哈希表-快乐数

若平方和重复出现,说明进入闭环,永远无法得到 1,即非快乐数。利用哈希表(HashSet)快速判断元素是否存在的特性,存储已出现的平方和,实现循环检测。个人总结学习用,对部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,

2025-11-02 20:28:15 557

原创 数据结构算法之哈希表:两个数组的交集

先明确概念:两个数组的交集,指的是同时存在于两个数组中的元素。比如数组[2,3,6]和[4,6,9],它们的交集就是[6]。需要注意的是,交集是否需要去重?这取决于具体场景。比如原数组有重复元素时(如[2,2,3]和[2,2,2]),是保留所有重复的2还是只保留一个?下面的方法会根据实现逻辑自然处理这一点,我们后面具体说。

2025-11-01 20:23:01 932

原创 数据结构之哈希表-有效的字母异位词

摘要:本文探讨了如何判断两个字符串是否为字母异位词的问题。通过分析暴力解法(时间复杂度O(n²))的不足,提出基于数组的哈希表优化方案(时间复杂度O(n))。具体方法是使用长度为26的数组记录字符出现次数:先统计字符串s中各字符频次,再遍历字符串t进行抵消。若最终数组全为0则判定为异位词。代码实现中通过检查长度差异和负值情况提前终止计算,提升效率。该方法适用于仅含小写字母的字符串,具有空间复杂度O(1)的优势。文末附参考文献及代码实现示例。

2025-10-30 11:37:18 953

原创 数据结构算法之链表篇---环形链表II

本文介绍了力扣环形链表II问题的解法。使用快慢指针法判断链表是否有环:快指针每次移动2节点,慢指针每次移动1节点,若有环最终会相遇。找到环入口的方法是在确认有环后,将相遇点和头结点分别作为新指针起点,两者同步移动直到相遇即为入口。该方法时间复杂度O(n),空间复杂度O(1)。文中还给出了递归实现两两交换链表节点的代码示例,通过递归处理后续子链表并重新连接节点完成交换。最后列出了相关参考资料。

2025-10-30 11:24:05 1014

原创 数据结构算法之链表篇:删除链表的倒数第N个节点

否则删除头结点时会出现null指针异常,比如链表只有一个节点[1],删除倒数第1个节点,没有虚拟头结点的话slow初始指向1,删除后无法处理。:如果只移动n步,slow会指向删除节点本身,而链表删除需要前驱节点,所以必须多移1步(n+1)。让fast和slow保持n个节点间距,同时移动至fast到链表末尾,slow即指向倒数第n个节点。此时状态:dummy→1→2→3→4→5→null,fast和slow都停在dummy位置。移动后状态:fast指向5,slow指向3(刚好是删除节点4的上一个节点)。

2025-10-24 21:00:57 1046

原创 数据结构算法之链表篇:两两交换链表中的元素的实现

个人总结学习用,对部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,力扣题目链接(opens new window)

2025-10-21 20:40:20 1947

原创 数据结构算法之链表篇-反转链表的原理及代码实现

原来节点 5 的next指向null□ □ □ □ □next:2 next:1 next:2 next:3 next:4 (节点5的next从null→4)

2025-10-20 21:06:13 841

原创 数据结构算法之链表篇-设计链表的原理及代码实现

力扣题目链接。

2025-10-19 19:17:44 1072

原创 数据结构之链表篇-链表移除元素的原理及代码实现

力扣题目链接题意:删除链表中等于给定值 val 的所有节点。示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5]示例 2: 输入:head = [], val = 1 输出:[]示例 3: 输入:head = [7,7,7,7], val = 7 输出:[]

2025-10-17 11:30:50 1015

原创 算法刷题-数组篇之螺旋矩阵II(超简单)

力扣题目链接给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3 输出: [ [ 1, 2, 3 ],

2025-10-14 21:24:37 816

原创 算法刷题-数组篇之长度最小的子数组

力扣题目链接。

2025-10-12 17:34:40 455

原创 算法刷题-数组篇之有序数组的平方

力扣题目链接。

2025-10-12 15:01:58 413

原创 算法刷题之数组篇-移除元素的实现

双指针法,顾名思义就是用两个指针来遍历数组。快指针(fastIndex):负责“探路”,遍历整个数组,找到那些不等于目标值的元素。慢指针(slowIndex):负责“记录”,指向需要更新元素的位置,也就是新数组的末尾。// 时间复杂度:O(n),只需遍历一次数组// 空间复杂度:O(1),仅使用常数额外空间if (val!时间复杂度:O(n),只需遍历一次数组空间复杂度:O(1),仅使用常数额外空间个人总结,部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,持续修订更新中。

2025-10-12 14:39:53 449

原创 算法刷题之数组篇-二分查找法的原理及代码实现

target 一定在 [left, right] 这个范围里。这个定义直接决定了代码怎么写。// 定义target在左闭右闭的区间里,[left, right]while (left <= right) { // 当left==right,区间[left, right]依然有效,所以用 <=// 防止溢出,等同于(left + right)/2// target 在左区间,所以[left, middle - 1]// target 在右区间,所以[middle + 1, right]

2025-10-11 18:01:56 405

空空如也

空空如也

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

TA关注的人

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