算法题目总结

数据结构和算法

二分查找的循环、递归形式
冒泡排序,选择排序,插入排序,希尔排序,归并排序,快速排序的定义,各自的复杂度比较,稳定性
实现快速排序、归并排序
二叉树的前中后序遍历和层次遍历(对应 DFS 和 BFS)
经典回溯算法——遍历红黄蓝绿所有排序方式

概念

什么是二叉搜索树,二叉搜索树构造的过程
什么是哈夫曼树
堆的概念,最大堆最小堆,堆排序
图论、权边、最小生成树
拓扑排序

数组

jz3:数组中重复的数字
jz4:二维数组中的查找
jz11:旋转数组中的最小数字
jz40:最小的 k 个数
jz42:连续子数组的最大和
jz44:数字序列中某一位的数字
jz45:把数组排成最小的数
jz57:数组中找到两个和为 s 的数字
jz63:股票的最大收益
lc48:旋转图像
lc88:合并两个有序数组
lc152:乘积最大子序列
lc238:除自身以外数组的乘积
lc283:移动零(把零移到数组末尾,保持非零元素相对位置)
lc287:寻找重复数
lc560:数组中和为k的连续子数组个数
lc581:最短无序连续子数组
转圈打印矩阵
在数组中找到出现次数大于N/K的数
最长的可整合子数组的长度
未排序正数数组中累加和为给定值的最长子数组长度
未排序数组中累加和小于或等于给定值的最长子数组长度
计算数组的小和
自然数数组的排序
奇数下标都是奇数或者偶数下标都是偶数
子数组的最大累加和问题
在数组中找到一个局部最小的位置
打印N个数组整体最大的topK
边界都是1的最大正方形大小
不包含本位置值的累乘数组
求最短通路值
数组中未出现的最小正整数
数组排序之后相邻数的最大差值
解题tips:辅助矩阵、

字符串

jz5:替换空格
jz38:打印出字符串的所有排列(回溯)
jz46:把数字翻译成字符串
jz48:最长不含重复子串的子字符串
jz50:第一个只出现一次的字符
jz58-1:翻转字符串单词顺序
jz58-2:左旋转字符串
lc5:最长回文子串
lc49:字母异位词分组
判断两个字符串是否互为旋转词
字符串的统计字符串
判断字符串数组中是否所有字符只出现了一次
在有序但有空的数组中查找字符串
数组中两个字符串的最小距离
公式字符串求值
解题tips:

链表

jz6:从尾到头打印链表
jz18:O(1)时间删除链表节点
jz22:链表中的倒数第 k 个节点
jz23:链表中环的入口节点
jz25:合并两个排序的链表
jz35:复杂链表的复制
jz52:两个链表的第一个公共节点
lc24:两两交换链表中的节点
lc206:翻转链表
判断一个链表是否为回文结构
将单向链表按某值划分成左边小,中间相等,右边大的形式
将单链表的每k个节点之间逆序
单链表的选择排序
解题tips:

jz7:重建二叉树
jz8:二叉树中序遍历下一个节点
jz26:判断一棵树是不是另一棵树的子结构
jz27:返回二叉树的镜像
jz28:判断二叉树是否对称
jz32:二叉树层次遍历按行打印
jz33:判断数组是不是二叉搜索树的后序遍历序列
jz34:二叉树中和为某一值的路径
jz36:二叉搜索树与双向链表
jz37:序列化二叉树
jz54:二叉搜索树的第 k 大节点
jz55:二叉树的深度
jz55-2:判断是否为平衡二叉树
lc105:从前序遍历和中序遍历序列构造二叉树
lc108:将有序数组转换为平衡二叉树
lc112:判断二叉树是否存在路径总和等于目标值
lc114:二叉树展开为链表
lc98:验证二叉搜索树
lc236:二叉树最小公共祖先
lc543:二叉树的直径
打印二叉树的边界节点
二叉树中找到累加和为指定值的最长路径长度
找到二叉树中最大搜索二叉子树
调整二叉树中两个错误的节点
通过有序数组生成平衡搜索二叉树
二叉树节点间的最大距离
解题tips:

哈希

lc1:两个数字的和

lc20:有效的括号
lc155:最小栈
如何仅用递归函数和栈操作逆序一个栈
用一个栈实现另一个栈的排序

队列

生成窗口最大值数组

概率

二分

lc4:寻找两个有序数组的中位数
lc69:x 的平方根
lc35:查找链表插入位置
lc34:排序数组元素的第一个和最后一个位置
lc153:查找旋转数组中的最小数

排序

快排
归并排序
利用归并排序求数组逆序数

动态规划

最长公共子序列
最长公共子串
jz10:斐波那契数列
走方格问题,返回左上角到右下角所有路径的最小路径和
jz14:剪绳子
jz47:礼物的最大价值
lc55:跳跃游戏
lc62:不同路径
lc64:最小路径和
lc72:编辑距离
lc120:三角形最小路径和
lc300:最长上升子序列
lc416:分割等和子集
回文最少分割数
正数数组的最小不可组成和

回溯算法

遍历红黄蓝绿所有排序方式
lc39:找到数组中所有和为target的组合(数字可重复)
lc22:括号生成
lc78:给定一组不含重复元素的数组,返回该数组所有可能的子集
lc90:给定一组可能含重复元素的数组,返回该数组所有可能得子集
lc216:找出所有相加和为 n 的 k 个数的组合
lc416:分割等和子集
lc473:火柴拼正方形

双指针

jz57-2:和为s的连续正数序列
lc3:无重复的最长子串
lc11:盛水最多的容器
lc15:求数组中三个数和为0的所有组合
lc75:颜色分类(荷兰国旗问题)

贪心算法

Boyer-Moore投票算法

lc169:求众数

拓扑排序

lc207:课程表(有向图中是否有环)

partition

lc205:数组中的第k个最大元素

二进制

jz15.二进制中1的个数
不用额外变量交换两个整数的值
只用位运算实现整数加减乘除
整数的二进制表达有多少个1
在其他数都出现偶数次的数组中找到出现奇数次的数
在其他数都出现k次的数组中找到只出现一次的数

大数据和空间限制

大数据和空间限制

其他

jz16:数值的整数次方
jz17:打印从1到最大的n位数
jz43:1到n整数中1出现的次数
jz60:n个骰子的点数
jz61:扑克中的顺子
jz62:圆圈中最后剩下的数字
jz64:求1+2+...+n
从5随机到7随机及其扩展
最大的leftMax与rightMax之差的绝对值
设计LRU缓存结构
调整0,x区间上的数出现的概率

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容