-
LeetCode中最难的算法:编码面试人员面临的挑战
资源介绍
leetcode最难最难
子数组和等于
k
子阵列乘积等于
K
连续子数组和
最长递增子序列
最长公共子序列
想法
联合发现
下一个置换算法
将二维矩阵转换为一维数组
有一个公式可以将二维矩阵转换为一维数组,反之亦然
--
n
*
m
矩阵转换为数组
=>
matrix[x][y]
=>
a[x
*
m
+
y]
--
数组转换为
n
*
m
矩阵
=>
a[x]
=>matrix[x
/
m][x
%
m];
幂集算法(leetcode
中的子集)
弦上的
GCD
对答案空间的二分搜索(盒子中的球问题)
在数组的
1
和最大值之间进行二分查找
数组最大值和数组最小值之间的二分查找
对排序数组进行预计算/预处理和二分搜索
两个指针/滑动窗口
DFS/BFS
树遍历(按顺序/前序/后序)
等级顺序
为了
邮购
预购
莫里斯顺序树遍历
Kadene
的最大乘积算法
Kadene
的最大和算法
推定问题
弗洛伊德兔龟算法——周期检测
回溯问题
数独解算器
词搜索
皇后区
...
所有
DP
-
将问题减少到其他可解决的问题
+
记忆
优先队列
K路合并
最长回文子串问题方法
最多删除一个数字