Naico智库
Search Docs
K
面试八股文
编程语言
数据库相关
前端常见问题
Java 基础与进阶
计算机网络基础
计算机操作系统
系统设计
软件架构
BackendForFront
微服务
经典设计模式
算法与数据结构
剑指Offer题解
LeetCode题解
算法基础
数据结构与算法
读书笔记
架构基础
React Hooks 核心原理与实战
TypeScript 进阶
面试八股文
软件架构
算法与数据结构
读书笔记
Menu
LeetCode题解
Filter
LeetCode题解
数据结构 - 数组与矩阵
1. 把数组中的 0 移到末尾
2. 改变矩阵维度
3. 找出数组中最长的连续 1
4. 有序矩阵查找
5. 有序矩阵的 Kth Element
6. 一个数组元素在 [1, n] 之间,其中一个数被替换为另一个数,找出重复的数和丢失的数
7. 找出数组中重复的数,数组值在 [1, n] 之间
8. 数组相邻差值的个数
9. 数组的度
10. 对角元素相等的矩阵
11. 嵌套数组
12. 分隔数组
算法思想 - 二分查找
1. 求开方
2. 大于给定元素的最小元素
3. 有序数组的 Single Element
4. 第一个错误的版本
5. 旋转数组的最小数字
6. 查找区间
数据结构 - 位运算
0. 原理
1. 统计两个数的二进制表示有多少位不同
2. 数组中唯一一个不重复的元素
3. 找出数组中缺失的那个数
4. 数组中不重复的两个元素
5. 翻转一个数的比特位
6. 不用额外变量交换两个整数
7. 判断一个数是不是 2 的 n 次方
8. 判断一个数是不是 4 的 n 次方
9. 判断一个数的位级表示是否不会出现连续的 0 和 1
10. 求一个数的补码
11. 实现整数的加法
12. 字符串数组最大乘积
13. 统计从 0 ~ n 每个数的二进制表示中 1 的个数
算法思想 - 分治
1. 给表达式加括号
2. 不同的二叉搜索树
算法思想 - 双指针
1. 有序数组的 Two Sum
2. 两数平方和
3. 反转字符串中的元音字符
4. 回文字符串
5. 归并两个有序数组
6. 判断链表是否存在环
7. 最长子序列
算法思想 - 动态规划
斐波那契数列
矩阵路径
数组区间
分割整数
最长递增子序列
最长公共子序列
0-1 背包
股票交易
字符串编辑
数据结构 - 图
二分图
拓扑排序
并查集
算法思想 - 贪心思想
1. 分配饼干
2. 不重叠的区间个数
3. 投飞镖刺破气球
4. 根据身高和序号重组队列
5. 买卖股票最大的收益
6. 买卖股票的最大收益 II
7. 种植花朵
8. 判断是否为子序列
9. 修改一个数成为非递减数组
10. 子数组最大的和
11. 分隔字符串使同种字符出现在一起
数据结构 - 哈希表
1. 数组中两个数的和为给定值
2. 判断数组是否含有重复元素
3. 最长和谐序列
4. 最长连续序列
数据结构 - 链表
1. 找出两个链表的交点
2. 链表反转
3. 归并两个有序的链表
4. 从有序链表中删除重复节点
5. 删除链表的倒数第 n 个节点
6. 交换链表中的相邻结点
7. 链表求和
8. 回文链表
9. 分隔链表
10. 链表元素按奇偶聚集
算法思想 - 数学
素数分解
整除
最大公约数最小公倍数
进制转换
阶乘
字符串加法减法
相遇问题
多数投票问题
其它
算法思想 - 搜索
BFS
DFS
Backtracking
算法思想 - 排序
快速选择
堆
桶排序
荷兰国旗问题
数据结构 - 栈和队列
1. 用栈实现队列
2. 用队列实现栈
3. 最小值栈
4. 用栈实现括号匹配
5. 数组中元素与下一个比它大的元素之间的距离
6. 循环数组中比当前元素大的下一个元素
数据结构 - 字符串
1. 字符串循环移位包含
2. 字符串循环移位
3. 字符串中单词的翻转
4. 两个字符串包含的字符是否完全相同
5. 计算一组字符集合可以组成的回文字符串的最大长度
6. 字符串同构
7. 回文子字符串个数
8. 判断一个整数是否是回文数
9. 统计二进制字符串中连续 1 和连续 0 数量相同的子字符串个数
数据结构 - 树
递归
层次遍历
前中后序遍历
BST
Trie