算法系列——开篇及目录

前言

题目来源于leetcode网站 原题以及 《剑指offer》和一些常见的问题汇总,目的是梳理和汇总。

排序

  1. 八种排序算法

二分查找

  1. 二分查找
  2. 求平方根
  3. 搜索插入位置
  4. 寻找旋转排序数组中的最小值
  5. 寻找峰值

字符串和哈希表

  1. 字符串匹配算法 简单匹配和KMP算法
  2. 回文字符串
  3. 反转字符串
  4. 和为 K 的子数组
  5. 最长公共前缀
  6. 最长不重复子串
  7. 有效的字母异位词
  8. 字母异位词分组

数字和数组

  1. 圆圈中剩下的数字
  2. 扑克牌的顺子
  3. 缀点成线
  4. 最大公约数
  5. 最长连续序列
  6. 移除元素
  7. 删除有序数组中的重复项
  8. 删除有序数组中的重复项 II
  9. 合并有序数组
  10. 两数之和
  11. 三数之和
  12. 四数字之和
  13. 搜索二维矩阵
  14. 最短无序连续子数组
  15. 整数反转
  16. 字符串转为整数
  17. 只出现一次的数字
  18. 长度最小的子数组
  19. 两个数组的交集
  20. 两个数组的交集II
  21. 加1
  22. 丑数
  23. 丑数II
  24. 两数相除
  25. 回文数
  26. 合并区间

位运算

  1. 判断数字是2的幂
  2. 位1的个数
  3. 丢失的数字
  4. 二进制求和

链表

  1. 反转链表I
  2. 反转链表II
  3. 排序链表
  4. 重排链表
  5. 旋转链表
  6. 链表求交点
  7. 分隔链表
  8. 判断链表是否有环
  9. 找出环的入口节点
  10. 倒数第K个结点
  11. 复制带随机指针的链表
  12. LRU缓存
  13. 在O(1)时间内删除链表结点
  14. 删除排序链表中的重复元素
  15. 删除排序链表中的重复元素 II
  16. 移除链表元素
  17. 两数相加(链表模拟加法)

栈,队列和堆

  1. 栈的压入弹出序列
  2. 前 K 个高频元素
  3. 每日温度-单调栈
  4. 逆置一个栈
  5. 用队列实现栈
  6. 用栈实现队列
  7. 包含min函数的栈
  8. 滑动窗口最大值
  9. 验证括号

二叉树

  1. 二叉树前序遍历
  2. 二叉树中序遍历
  3. 二叉树后序遍历
  4. 二叉树的层序遍历
  5. 将有序数组转化为二叉搜索树
  6. 验证搜索二叉树

递归回溯

  1. 输出笛卡尔积
  2. 数值的整数次方
  3. 括号生成
  4. 单词搜索
  5. 岛屿数量
  6. 机器人运动范围
  7. 全排列
  8. 全排列II
  9. 下一个排列
  10. 子集
  11. 子集II
  12. 组合
  13. 组合总数
  14. 组合总数II

动态规划

  1. 割绳子
  2. 不同的二叉搜索树
  3. 最长回文子串
  4. 最长公共子串
  5. 最长公共子序列
  6. 最长递增子序列
  7. 最大乘积子数组
  8. 比特位计算
  9. 跳台阶
  10. 变态跳台阶
  11. 买卖股票的最佳时机
  12. 完全平方数
  13. 最大子数组和
  14. 单词拆分
  15. 整数拆分
  16. 打家劫舍
  17. 不同的路径

贪心算法

  1. 加油站
  2. 跳跃游戏
  3. 分发饼干
  4. 无重叠区间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值