算法经典整理(只有目录)

数学:

  • 尾部的零
  • 斐波纳契数列
  • x的平方根
  • 大整数乘法
  • 骰子求和
  • 最多有多少个点在一条直线上
  • 超级丑数

比特位操作:

  • 将整数A转换为B更新二进制位
  • 二进制表示
  • O(1)时间检测2的幂次
  • 二进制中有多少个1

动态规划:

  • 编辑距离正则表达式匹配
  • 交叉字符串乘
  • 积最大子序列
  • 二叉树中的最大路径和
  • 不同的路径
  • 通配符匹配

堆:

  • 滑动窗口的中位数数据流中位数
  • 最高频的K个单词
  • 接雨水
  • 堆化
  • 排序矩阵中的从小到大第k个数

二叉树:

  • 二叉树中序遍历二叉树的序列化和反序列化
  • 子树
  • 最近公共祖先
  • 二叉树的层次遍历
  • 将二叉树拆成链表
  • 在二叉查找树中插入节点

二分法:

  • 经典二分查找问题二分查找
  • 两数组的交
  • 区间最小数
  • 寻找旋转排序数组中的最小值
  • 搜索排序区间
  • 寻找峰值

分治法:

  • 快速幂两个排序数组的中位数
  • 合并K个排序链表

哈希表:

  • 变形词子串哈希函数
  • 短网址
  • 复制带随机指针的链表
  • 最小子串覆盖

矩阵:

  • 搜索二维矩阵旋转图像
  • 岛屿的个数
  • 螺旋矩阵

宽度优先搜索:

  • 克隆图被围绕的区域
  • 拓扑排序
  • 单词接龙

链表:

  • 实现一个链表的反转链表求和 II
  • 删除链表中的元素
  • LRU缓存策略
  • 合并两个排序链表
  • 两个链表的交叉
  • 翻转链表 II
  • 复制带随机指针的链表
  • 带环链表

枚举法

  • 统计数字名人确认
  • 最长连续上升子序列
  • 最大子数组差
  • 最长公共前缀

排序:

  • 快排摆动排序
  • 最大间距
  • 最接近零的子数组和
  • 最大数
  • 四数之和
  • 数组划分
  • 第K大元素
  • 排颜色

深度优先搜索:

  • N皇后问题图是否是树
  • 带重复元素的排列
  • 分割回文串

数组:

  • 数组划分逆序对
  • 合并区间
  • 搜索旋转排序数组
  • 最大子数组
  • 删除排序数组中的重复数字
  • 第二大的数组
  • 先递增后递减数组中的最大值
  • 两数和 - 输入的数据是有序的
  • 两个排序数组的中位数
  • 在大数组中查找
  • 颜色分类
  • 合并排序数组
  • 无序数组K小元素
  • 中位数
  • 奇偶分割数组

贪心:

  • 主元素寻找缺失的数
  • 买卖股票最佳时机
  • 加油站
  • 删除数字
  • 落单的数
  • 最大子数组差

线段树:

  • 线段树查询线段树的构造
  • 线段树的修改
  • 区间求和
  • 统计比给定整数小的数的个数

栈:

  • 带最小值操作的栈用栈实现队列
  • 有效的括号序列
  • 简化路径

整数:

  • 反转整数将整数A转换为B
  • 整数排序

字符串处理:

  • 罗马数字转整数回文数
  • 乱序字符串
  • 有效回文串
  • 翻转字符串
  • 最长无重复字符的子串
  • 字符串压缩
  • 比较字符串编辑距离II
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值