算法刷题笔记(数据结构+算法)个人吐血整理
文章平均质量分 94
本人正在刷题准备找实习,参考了很多资料以及网站,对刷过的题以及各种算法进行了整理与总结。也想将这些资料发出来,大家一起进步。
本专栏将更新:二分查找、双指针、滑动窗口、二维矩阵、链表、哈希算法、字符串经典例题、KMP算法、单调队列、单调栈、分治算法、排序算法、二叉树大总结、深度&广度优先搜索、递归…
张好好-学习
这个作者很懒,什么都没留下…
展开
-
08 KMP算法
主要用于解决字符串匹配问题。“借助前缀表,可以在匹配失败时,充分利用已匹配的部分的信息,避免对模式串从头重新匹配”。原创 2023-04-03 21:06:52 · 571 阅读 · 1 评论 -
07 字符串
*字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。将前k个字符看成一个单词,后面的字符看成一个单词,即可类比151的解法。但是在该题中,可以看成是一个空格元素替换成“%20”三个元素,因此会存在一个位置赋值三个元素的情况,原创 2023-04-03 21:06:59 · 364 阅读 · 0 评论 -
06 哈希表
哈希表实现以时间换空间的查找。原创 2023-04-02 18:04:10 · 654 阅读 · 0 评论 -
05 链表相关知识以及题目总结
链表知识:什么是单链表、双链表、循环链表。链表经典题目总结:如何反转链表?如何找到链表的倒数第n个元素?……原创 2023-04-01 19:29:54 · 307 阅读 · 0 评论 -
04 矩阵(二维数组)特殊遍历相关题目
矩阵(二维数组)的螺旋遍历原创 2023-03-13 16:17:21 · 123 阅读 · 0 评论 -
03 滑动窗口
● 需要双层循环对数组进行遍历的题目可以考虑使用滑动数组法● 滑动窗口思想其实是对快慢双指针解决某类问题的改进对应题目类型:1. 求解数组中连续的元素值满足某条件的连续最短子数组原创 2023-03-02 16:13:49 · 134 阅读 · 0 评论 -
02 双指针
双指针对应算法题目整理,题目类型:● 需要双层循环遍历数组的,可以考虑使用双指针方法● 双指针有些是针对一个列表的问题定义两个指针;有些是对两个列表的问题,每个列表分别定义一个指针● 双指针法(快慢指针法)在数组和链表的操作中是非常常见的,很多考察数组和链表操作的面试题,都使用双指针法。● 双指针法可以将时间复杂度降低一个数量级原创 2023-03-02 11:13:10 · 137 阅读 · 0 评论 -
01 二分查找
二分查找是基于有序序列的查找算法。每次查找当前区间的中间位置的元素,判断其与待查找元素的大小。然后,根据大小移动区间的左右端点。二分查找的好处在于每次可以去除掉一半的元素,使其时间复杂度为O(logn)。原创 2022-11-07 17:23:45 · 450 阅读 · 0 评论