└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ## :star:前言 2 | 3 | **题目来源** 4 | 5 | > **本文最新的题目更新在** 6 | > 7 | > **https://github.com/fengdongdongwsn/high-frequency-algorithm** 8 | 9 | 本文收集了在面试中,公司高频出现的算法题目。避免你在准备开始刷题或者是正在刷题时,没有目标。力扣题目实在是太多了。但是我们没有必要去把每道题都刷一遍。本系列题目主要来源如下: 10 | 11 | > - **牛客面经整理的面经真题** 12 | > 13 | > - **牛客网和力扣上高频面试题栏目收集而来** 14 | 15 | ## :star:高频面试真题 16 | 17 | 表格中的内容很多都是力扣上的,建议牛客上的剑指offer,先刷完 18 | 19 | | 数组 | 20 | | -------------------------------------- | 21 | | 力扣1:两数之和 | 22 | | 力扣1299:将每个元素替换为右侧最大元素 | 23 | | 力扣1464:数组中两个元素的最大乘积 | 24 | | 力扣15:三数之和 | 25 | | 力扣179:最大数 | 26 | | 力扣189:旋转数组 | 27 | | 力扣215:数组中第K个最大元素 | 28 | | 力扣239:滑动窗口的最大值 | 29 | | 力扣33:搜索旋转排序数组 | 30 | | 力扣349:两个数组的交集1 | 31 | | 力扣350:两个数组的交集2 | 32 | | 力扣384:打乱数组 | 33 | | 力扣4:求两个正序数组的中位数 | 34 | | 力扣40:数组总和 | 35 | | 力扣41:缺失的第一个正数 | 36 | | 力扣416:分割等和数组 | 37 | | 力扣42:接雨水问题 | 38 | | 力扣442:数组中重复的数据 | 39 | | 力扣448:找到所有数组中消失的数字 | 40 | | 力扣45:跳跃游戏(跳跃次数) | 41 | | 力扣48:旋转图像 | 42 | | 力扣480:滑动窗口中位数 | 43 | | 力扣525:连续子数组 | 44 | | 力扣54:螺旋矩阵 | 45 | | 力扣55:跳跃游戏(跳跃距离) | 46 | | 力扣556:下一个更大元素 | 47 | | 力扣56:合并区间 | 48 | | 力扣560:和为K的子数组 | 49 | | 力扣658:找到K个最接近的元素 | 50 | | 力扣659:分割数组为连续子序列 | 51 | | 力扣74:搜索二维矩阵 | 52 | | 力扣84:柱状图中的最大矩行 | 53 | | 力扣88:合并两个有序数组 | 54 | | 力扣915:分割数组 | 55 | 56 | | 字符串 | 57 | | ------------------------------------------ | 58 | | 力扣1312:让字符串成为回文串的最少插入次数 | 59 | | 力扣139:单词拆分1 | 60 | | 力扣140:单词拆分2 | 61 | | 力扣165:比较版本号 | 62 | | 力扣22:生成括号 | 63 | | 力扣316:去除重复字母保证字典序最小 | 64 | | 力扣415:字符串相加 | 65 | | 力扣43:字符串相乘 | 66 | | 力扣44:通配符匹配 | 67 | | 力扣443:字符串压缩 | 68 | | 力扣557:反转字符串中的单词 | 69 | | 力扣67:二进制求和 | 70 | | 力扣72:编辑距离 | 71 | | 力扣93:复原IP地址 | 72 | | 剑指offer46:把数字翻译成字符串 | 73 | | KMP算法 | 74 | | 力扣647:一个字符串中有多少个回文字串 | 75 | | 力扣17:电话号码的字母组合 | 76 | 77 | | 排序算法 | 78 | | -------- | 79 | | 快速排序 | 80 | | 插入排序 | 81 | | 归并排序 | 82 | | 希尔排序 | 83 | | 堆排序 | 84 | 85 | | 最长问题 | 86 | | ------------------------ | 87 | | 最长回文字串 | 88 | | 最长回文子序列 | 89 | | 最长连续公共字串 | 90 | | 最长公共子序列 | 91 | | 最长连续为1的字串 | 92 | | 最长有效括号 | 93 | | 最长无重复字符的连续字串 | 94 | | 最长等差数列 | 95 | | 最长上升连续序列 | 96 | | 最长上升子序列 | 97 | | 最长和谐子序列 | 98 | 99 | | 动态规划问题 | 100 | | ------------------------------------- | 101 | | 力扣121:买卖股票(一次交易) | 102 | | 力扣122:买卖股票(多次交易) | 103 | | 力扣134:加油站 | 104 | | 力扣309:买卖股票(包含冷冻时间) | 105 | | 力扣322:零钱兑换 | 106 | | 力扣518:零钱兑换 | 107 | | 力扣53:最大子緒和 | 108 | | 力扣674:未经排序数组最长连续递增序列 | 109 | | 把数字翻译成字符串 | 110 | | 剪绳子 | 111 | | 接雨水 | 112 | | 礼物的最大价值 | 113 | 114 | | 链表 | 115 | | ------------------------------------ | 116 | | 力扣109:将有序链表转化为二叉搜素树 | 117 | | 力扣141:环形链表判断是否有环 | 118 | | 力扣142:环形链表检测入口位置 | 119 | | 力扣143:重拍链表 | 120 | | 力扣160:相交链表 | 121 | | 力扣206:反转链表 | 122 | | 力扣21:合并两个有序链表 | 123 | | 力扣23:合并K和有序链表 | 124 | | 力扣234:回文联表 | 125 | | 力扣25:K个一组反转链表 | 126 | | 力扣328:奇偶链表 | 127 | | 力扣445:链表求和(头对齐:尾对齐) | 128 | | 力扣80:删除排序数组中的重复元素 | 129 | | 力扣82:删除重复元素 | 130 | | 力扣83:删除排序链表中的重复元素 | 131 | | 力扣86:分割链表 | 132 | | 剑指offer:二叉搜索树和双向链表 | 133 | | 剑指offer22:链表中倒数第K个节点 | 134 | | 剑指offer54:二叉搜索树中的第K大节点 | 135 | | LRU实现 | 136 | | 从尾到头打印链表 | 137 | 138 | | 树 | 139 | | ----------------------------------- | 140 | | 力扣102:二叉搜索树的层次遍历 | 141 | | 力扣105:从前序和中序重构二叉树 | 142 | | 力扣108:将有序数组转化为二叉搜索树 | 143 | | 力扣110:平衡二叉树 | 144 | | 力扣113:路径总和 | 145 | | 力扣124:二叉树的最大路径和 | 146 | | 力扣1325:删除给定值的叶子节点 | 147 | | 力扣144:二叉树的前序遍历(非递归) | 148 | | 力扣145:二叉树的后续遍历(非递归) | 149 | | 力扣199:二叉树的右视图 | 150 | | 力扣208:实现Trie前缀树 | 151 | | 力扣222:完全二叉树的节点数 | 152 | | 力扣226:翻转二叉树 | 153 | | 力扣236:二叉树的最近公共祖先 | 154 | | 力扣257:二叉树的所有路径 | 155 | | 力扣297:二叉树的序列化和反序列化 | 156 | | 力扣450:删除二叉树中的节点 | 157 | | 力扣543:二叉树的直径长度 | 158 | | 力扣617:合并二叉树 | 159 | | 力扣662:二叉树的最大宽度 | 160 | | 力扣687:最长同值路径 | 161 | | 力扣94:二叉树中序遍历(非递归) | 162 | | 力扣958:二叉树的完全性检验 | 163 | | 力扣98:验证二叉搜索树 | 164 | | 力扣99:恢复二叉搜索树 | 165 | | 重建二叉树 | 166 | | Z字形层次遍历 | 167 | 168 | | 深搜 | 169 | | ------------------------ | 170 | | 力扣1254:封闭岛屿的数目 | 171 | | 力扣200:岛屿的数量 | 172 | | 力扣209:课程表 | 173 | | 力扣365:水壶问题 | 174 | | 力扣46:全排序 | 175 | | 力扣463:岛屿的周长 | 176 | | 力扣547:朋友圈 | 177 | | 力扣695:岛屿的面积 | 178 | | 力扣733:颜色渲染 | 179 | | 二维矩阵中寻找最大正方形 | 180 | | 矩阵中的路径 | 181 | | 括号生成 | 182 | | 幂集 | 183 | 184 | | 数学问题 | 185 | | ---------------------- | 186 | | 力扣1240:铺瓷砖 | 187 | | 力扣202:快乐数 | 188 | | 力扣204:计算质数 | 189 | | 力扣37:解数独 | 190 | | 力扣43:字符串相乘 | 191 | | 力扣50:计算pow | 192 | | 力扣509:斐波那契数列 | 193 | | 力扣679:24点游戏 | 194 | | 力扣7:回文素数 | 195 | | 计算表达式的值 | 196 | | 开平方根函数(会两种) | 197 | | 数字转16进制 | 198 | 199 | | 堆栈问题 | 200 | | -------------------------- | 201 | | 力扣155:最小栈 | 202 | | 力扣225:用队列实现栈 | 203 | | 力扣232:用两个栈实现队列 | 204 | | 力扣312:戳气球 | 205 | | 面试金典0305:栈排序 | 206 | | 使用数组实现队列 | 207 | | 栈的压入弹出序列是否合法 | 208 | | 打印栈的压入和弹出的序列 | 209 | | 会议安排(小红书现场原题) | 210 | | 力扣406:根据身高重建队列 | 211 | 212 | | 其他真题 | 213 | | ----------------------- | 214 | | 力扣135:分发糖果 | 215 | | 力扣198:打家劫舍 | 216 | | 力扣213:打家劫舍 | 217 | | 力扣337:打家劫舍 | 218 | | 力扣301:删除无效的括号 | 219 | | 两个线程交替打印奇偶数 | 220 | | 三个线程顺序打印ABC | 221 | | 实现读写锁 | 222 | | 死锁的案例 | 223 | 224 | **本文题目持续更新。。。。** 225 | 226 | > **本文最新的题目更新在** 227 | > 228 | > **https://github.com/fengdongdongwsn/high-frequency-algorithm** 229 | 230 | **给个支持呗:heart:** 231 | 232 | ![](https://s3.ax1x.com/2020/12/18/rJnbO1.jpg) --------------------------------------------------------------------------------