# data-struct **Repository Path**: acc8226/data-struct ## Basic Information - **Project Name**: data-struct - **Description**: 数据结构 与 算法 - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-25 - **Last Updated**: 2024-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基础知识就像是一座大楼的地基,它决定了我们的技术高度。而要想快速做出点事情,前提条件一定是基础能力过硬,“内功”要到位。 ## 数据结构 ### 数组 ### 链表 ### 栈 ### 队列 ### 递归 ### 排序 #### 线性排序 ## 力扣练习 * 1\. 两数之和 [简单]「知识点:数组」 使用哈希表,对于每一个 x,我们首先查询哈希表中是否存在 target - x,然后将 x 插入到哈希表中,即可保证不会让 x 和自己匹配。 * 2\. 两数相加 [中等]「知识点:链表」我在测试过程中添加了构建链表节点 和 打印链表的方法。 * 3\. 无重复字符的最长子串 [中等偏上]「知识点:字符串/数组、滑动窗口、双指针」滑动窗口 (Sliding Window): 这是一种在字符串或数组上进行操作的算法 + 双指针 (Two Pointers): 与滑动窗口算法紧密相关,双指针技术通常涉及两个指针在序列上移动。 * 4\. 寻找两个正序数组的中位数 [困难]「知识点:二分查找」再来一次 * 27\. 移除元素 [简单]「知识点:数组、首尾双指针」使用双指针,两个指针初始时分别位于数组的首尾,向中间移动遍历该序列。 * 88\. 合并两个有序数组 [简单] 「知识点:数组、逆向双指针」从后往前数组合并。 * 655\. 非递减数列 [中等] 「知识点:数组」 总结规律而已 [由于我不是很熟练,可以二刷加深印象]