想了解更多数据结构以及算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。
大家好,我叫博哥,喜欢编程,尤其是喜欢算法,沉迷其中不能自拔,近3年来坚持在公众号写算法题解,总共输出了400多道题,其中不乏一些经典题型,都是以图文结合的方式,让算法变的不那么枯燥,通过这些文章,可以让你轻松入门。今天闲着没事就把之前写的一部分算法题整理出来,方便大家阅读,如果你觉得不错的话还可以点击收藏。
「可以看下部分系列文章:」
由于头条不支持外链,目前只能列出题的名字,如果想了解更多,可以在公众号"数据结构和算法"中查看
动态规划相关算法
465. 递归和动态规划解三角形最小路径和
430,剑指 Offer-动态规划求正则表达式匹配
423,动态规划和递归解最小路径和
413,动态规划求最长上升子序列
411,动态规划和递归求不同路径 II
409,动态规划求不同路径
407,动态规划和滑动窗口解决最长重复子数组
395,动态规划解通配符匹配问题
376,动态规划之编辑距离
370,最长公共子串和子序列
回溯算法
451,回溯和位运算解子集
450,什么叫回溯算法,一看就会,一写就废
442,剑指 Offer-回溯算法解二叉树中和为某一值的路径
420,剑指 Offer-回溯算法解矩阵中的路径
391,回溯算法求组合问题
446,回溯算法解黄金矿工问题
448,组合的几种解决方式
DFS和BFS相关算法题
455,DFS和BFS解被围绕的区域
453,DFS和BFS解求根到叶子节点数字之和
445,BFS和DFS两种方式解岛屿数量
422,剑指 Offer-使用DFS和BFS解机器人的运动范围
417,BFS和DFS两种方式求岛屿的最大面积
双指针相关问题
466. 使用快慢指针把有序链表转换二叉搜索树
398,双指针求无重复字符的最长子串
397,双指针求接雨水问题
396,双指针求盛最多水的容器
447,双指针解旋转链表
449,快慢指针解决环形链表
二叉树相关算法
464. BFS和DFS解二叉树的所有路径
458,填充每个节点的下一个右侧节点指针 II
457,二叉搜索树的最近公共祖先
456,解二叉树的右视图的两种方式
444,二叉树的序列化与反序列化
441,剑指 Offer-二叉搜索树的后序遍历序列
440,剑指 Offer-从上到下打印二叉树 II
439,剑指 Offer-从上到下打印二叉树
435,剑指 Offer-对称的二叉树
434,剑指 Offer-二叉树的镜像
433,剑指 Offer-树的子结构
414,剑指 Offer-重建二叉树
403,验证二叉搜索树
401,删除二叉搜索树中的节点
400,二叉树的锯齿形层次遍历
399,从前序与中序遍历序列构造二叉树
388,先序遍历构造二叉树
387,二叉树中的最大路径和
375,在每个树行中找最大值
374,二叉树的最小深度
373,数据结构-6,树
372,二叉树的最近公共祖先
367,二叉树的最大深度
链表相关算法
463. 判断回文链表的3种方式
462. 找出两个链表的第一个公共节点
461. 两两交换链表中的节点
460. 快慢指针解环形链表 II
459. 删除链表的倒数第N个节点的3种方式
432,剑指 Offer-反转链表的3种方式
431,剑指 Offer-链表中倒数第k个节点
429,剑指 Offer-删除链表的节点
410,剑指 Offer-从尾到头打印链表
386,链表中的下一个更大节点
381,合并两个有序链表(易)
栈相关算法
438,剑指 Offer-栈的压入、弹出序列
437,剑指 Offer-包含min函数的栈
416,剑指 Offer-用两个栈实现队列
其他经典算法
426,什么是递归,通过这篇文章,让你彻底搞懂递归
394,经典的八皇后问题和N皇后问题
371,背包问题系列之-基础背包问题
366,约瑟夫环
362,汉诺塔
356,青蛙跳台阶相关问题
389,两个超级大数相加
位运算相关算法
357,交换两个数字的值
361,交替位二进制数
383,不使用“+”,“-”,“×”,“÷”实现四则运算
364,位1的个数系列(一)
385,位1的个数系列(二)
402,位1的个数系列(三)
425,剑指 Offer-二进制中1的个数
数据结构
348,数据结构-1,数组
352,数据结构-2,链表
359,数据结构-3,队列
363,数据结构-4,栈
368,数据结构-5,散列表
373,数据结构-6,树
378,数据结构-7,堆
排序
101,排序-冒泡排序
102,排序-选择排序
103,排序-插入排序
104,排序-快速排序
105,排序-归并排序
106,排序-堆排序
107,排序-桶排序
108,排序-基数排序
109,排序-希尔排序
110,排序-计数排序
111,排序-位图排序
112,排序-其他排序
查找
201,查找-顺序查找
202,查找-二分法查找
203,查找-插值查找
204,查找-斐波那契查找
205,查找-分块查找
206,查找-哈希查找
207,查找-其他查找
其他算找
468,提莫攻击的两种解决方式
467. 递归和非递归解路径总和问题
454,字母异位词分组
452,跳跃游戏
443,滑动窗口最大值
436,剑指 Offer-顺时针打印矩阵
427,剑指 Offer-数值的整数次方
424,剑指 Offer-剪绳子
419,剑指 Offer-旋转数组的最小数字
418,剑指 Offer-斐波那契数列
415,最佳观光组合
412,判断子序列
408,剑指 Offer-替换空格
405,换酒问题
406,剑指 Offer-二维数组中的查找
404,剑指 Offer-数组中重复的数字
393,括号生成
392,检查数组对是否可以被 k 整除
390,长度最小的子数组
384,整数反转
382,每日温度的5种解题思路
379,柱状图中最大的矩形(难)
380,缺失的第一个正数(中)
377,调整数组顺序使奇数位于偶数前面
369,整数替换
365,消除游戏
358,移掉K位数字
355,两数相加 II
354,字典序排数
351,最少移动次数使数组元素相等 II
350,有序矩阵中第K小的元素
349,组合总和 Ⅳ
347,猜数字大小 II
346,查找和最小的K对数字
345,超级次方
344,最大整除子集
343,水壶问题
342,计算各个位数不同的数字个数
![7248918019cd551e63a5d0122bfc7f12.png](https://i-blog.csdnimg.cn/blog_migrate/5e4ad32e515c98a7c4c19d558fa95efb.jpeg)