算法题 - Aminute/aminute GitHub Wiki
map的遍历 https://blog.csdn.net/leijie0322/article/details/123023309
🌞全排列
🌞戳气球
⭐️⭐️⭐️⭐️⭐️滑动窗口的最大值
⭐️⭐️⭐️⭐️⭐️山脉数组中查找目标值 找山顶值的时候按照二分比较,mid和mid+1
⭐️⭐️⭐️⭐️⭐️编辑距离 明确dp[i][j]代表啥就好办了
2、写三个线程 轮流打印 ABC
3、三数之和 固定第一个数字
⭐️⭐️⭐️⭐️⭐️4、环形链表入口
- 相遇时 s f走了s+nb 所以:f-s=nb;所以s=nb,又a+nb刚好是入口点,就让f从头走,相遇时即为入口点
⭐️⭐️⭐️⭐️⭐️5、最长公共子序列
- 采用非递归算法进行计算
⭐️⭐️⭐️⭐️⭐️16、LRU缓存机制
⭐️⭐️⭐️⭐️⭐️ 18、买卖股票的最佳时机 II
⭐️⭐️⭐️⭐️⭐️21、接雨水
25、路径总和3 🌞
⭐️⭐️⭐️⭐️⭐️29、最长上升子序列
⭐️⭐️⭐️⭐️⭐️31、二叉搜索树的祖先
⭐️⭐️⭐️⭐️⭐️32、二叉树的祖先
⭐️⭐️⭐️⭐️⭐️33、将有序数组转换为二叉搜索树
⭐️⭐️⭐️⭐️⭐️34、K 个一组翻转链表
⭐️⭐️⭐️⭐️⭐️36、无重复字符的最长子串
⭐️⭐️⭐️⭐️⭐️37、二叉树中的最大路径和
- java创建的是最小堆,比较器
⭐️⭐️⭐️⭐️⭐️41、连续子数组的最大和
45、螺旋矩阵 主要是用sum记录总元素数,如果为0直接返回
48、下一个排列 2 4 7 6 2 1 先找后大于前,再从后往前找替换的数,reverse
49、下一个更大元素II 直接两次倒叙循环,入栈
51、括号生成 dfs
52、最长有效括号 栈中放位置,还需要理解
54、二叉树的前序遍历
55、二叉树的中序遍历
56、二叉树的后序遍历
以上三种遍历需要掌握递归和迭代(栈实现) 解法链接
57、组合总和 递归即可
58、数据流的中位数 两个堆,堆默认是最小堆
⭐️⭐️⭐️⭐️⭐️58、旋转数组的最小数字
59、找到字符串中的所有字母异位词------------题解
- 本题的子题字符串的排列
60、分割等和子集 主要看动态规划
62、单词搜索 很典型的回溯,可以看模版
63、剪绳子 动态规划可以解决,了解技巧方法
64、课程表 拓扑排序,经典
65、完全平方数 和零钱兑换一样,模版解答
66、实现 Trie (前缀树) 实现一种新的数据结构
67、乘积最大子数组 贼有可能考,还需要再看一遍
68、数值的整数次方 二分法解答,具体细节需要再看一下
69、打印从1到最大的n位数. 用全排列搞一波
⭐️⭐️⭐️⭐️⭐️70、字典序的第K小数字 应该能写出来
⭐️⭐️⭐️⭐️⭐️71、和至少为 K 的最短子数组
⭐️⭐️⭐️⭐️⭐️73、数组中的逆序对
75、重复的字符串 看kmp解法
76、重新安排行程 java8的新操作,加快开发速度