递归
数组
- Python中的数组
- 实现动态数组
- 向Python列表添加元素的尺寸增量
- 向Python列表添加元素的时间消耗
- 存储游戏积分
- 插入排序(数组排序)
- 凯撒密码
- 在数组中找出重复的数字(用空间换时间)
- 在数组中找出重复的数字(累加求和法)
- 在数组中找出重复的数字(异或法)
- 在数组中找出重复的数字(数据映射法)
- 在数组中找出重复的数字(环形相遇法)
- 查找数组中元素的最大值和最小值(分治法)
- 查找数组中元素的最大值和最小值(递归法)
- 找出旋转数组的最小元素
- 生成旋转数组
- 找出数组中丢失的数(求和法)
- 找出数组中丢失的数(异或法)
- 找出字典中出现奇数次的数(字典法)
- 找出字典中出现奇数次的数(异或法)
- 在数组中找到第k大的数
- 计算数组中两个元素的最大距离和最小距离(暴力法)
- 计算数组中两个元素的最大距离和最小距离(动态规划法)
- 计算最小三元组距离(蛮力法)
- 计算最小三元组距离(最小值法)
- 求数组中绝对值最小的数(顺序比较法)
- 求数组中绝对值最小的数(二分法)
- 求数组连续最大和及对应的子数组(蛮力法)
- 求数组连续最大和及对应的子数组(重复利用计算结果)
- 求数组连续最大和(动态规划法)
字符串
- 搜索子字符串
- KMP算法原理与实践
- 字符串全排列(递归)
- 字符串全排列(非递归)
- 去除全排列中重复的序列
- 求两个字符串的最长公共子字符串(动态规划法)
- 反转字符串(交换变量法)
- 反转字符串(异或法)
- 反转字符串中的单词
- 判断两个字符串是否为换位字符串
- 判断两个字符串的包含关系(直接比较法)
- 判断两个字符串的包含关系(空间换时间)
- 对仅由大小写字母组成的字符串进行排序
- 移除字符串中内嵌的括号
- 求最长回文字符串(动态规划法)
- 求最长回文字符串(中心扩展法)
- 按给定的字母顺序对字符串数组排序
- 判断字符串中是否包含重复字符(蛮力法)
- 判断字符串中是否包含重复字符(空间换时间)
- 找到由其他单词组成的最长单词
栈和队列
链表
与链表相关的算法
树
提交答案