本仓库是我在准备 2020 届秋招时所刷过的题,刷题对于找工作的重要性不言而喻, 如果你现在还没有开始,我的建议是从明天开始,一天5道。 如果你按照我的这个仓库的目录进行刷题,刷个两三遍,对于每道题都能很快的产生思路, 那么毕业找工作的时候,BAT 面试时候的手撸算法这关,你是完全没有问题的。
该仓库大概包含 300+(203) 道编程题, 是由我个人筛选的, 基本所有的知识点都有涉及到,目前仓库还在更新中,预计12月底完成。
- docs: 该文件夹下包含了诸多数据结构基础知识,如果对哪一方面不熟悉可以参考一下
[TOC]
offer 6: 从头到尾打印链表 | offer 18 :删除链表中重复的节点 -- 重点 | offer 22: 链表中的倒数第 k 个节点 |
---|---|---|
offer 23: 链表中环的入口节点 -- 重点 | offer 25: 反转链表 | offer 25: 合并两个排序的链表 |
offer 35: 复杂链表的复制 | offer 52: 两个链表的第一个公共节点 |
leetcode 206: 反转链表 | leetcode 160: 链表相交 | leetcode 21: 排序链表的合并 |
---|---|---|
leetcode 234: 回文链表 | leetcode 237: 删除链表中的节点 | leetcode 83: 删除排序链表中重复的节点 |
leetcode 203: 移除链表元素 |
leetcode 23: 合并 k 个有序链表 | leetcode 25: k 个一组翻转链表 | |
---|---|---|
leetcode 128: 最长连续序列 | ||
---|---|---|
leetcode 344: 反转字符串 | leetcode 345: 反转字符串中的元音字母 | leetcode 438: 找到字符串中的所有字母异位词 |
---|---|---|
leetcode 3: 无重复字符的最长子串 | ||
---|---|---|
leetcode 76: 最小覆盖子串 | ||
---|---|---|
leetcode 125: 验证回文串 | ||
---|---|---|
offer 9: 两个栈实现队列 | offer 9: 两个队列实现一个栈 | offer 30:包含 min 函数的栈 |
---|---|---|
offer 31:栈的压入,弹出序列 |
leetcode 225: 用队列实现栈 | leetcode 232: 用栈实现队列 | leetcode 155: 最小栈 |
---|---|---|
leetcode 20: 有效的括号 |
leetcode 215: 数组中的第 k 个最大元素 | leetcode 946: 验证栈序列 | |
---|---|---|
leetcode 224: 基本计算器 | leetcode 295: 数据流的中位数 | |
---|---|---|
重建二叉树 | 二叉树的下一个节点 | 树的子结构 |
---|---|---|
二叉树的镜像 | 对称的二叉树 | 不分行从上到下打印二叉树 |
分行从上到下打印二叉树 | 之字形打印二叉树 | 二叉树的后序遍历序列 |
二叉树中和为某一值的路径 | 二叉搜索树转化为双向链表 | 序列化二叉树 |
二叉搜索树的第 k 大节点 | 二叉树的深度 | 平衡二叉树 |
leetcode 145: 二叉树的后序遍历 | ||
---|---|---|
这里指的查找问题主要包括以下两类:
- 查找元素
a
是否存在? 一般采用集合 Set 来做。 - 查找元素
a
出现了几次? 一般采用字典 Dict 来做。
leetcode 451: 根据字符出现频率排序 | leetcode 15: 三数之和 | leetcode 16: 最接近的三数之和 |
---|---|---|
leetcode 454: 四数相加2 | leetcode 49: 字母异位词分组 | leetcode 220:存在重复元素3 |
leetcode 149: 直线上最多的点数 | ||
---|---|---|
leetcode 704: 二分查找 | ||
---|---|---|
offer 12: 矩阵中的路径 | offer 13: 机器人的运动范围 | offer 64: 求1+...+n |
---|---|---|
leetcode 401: 二进制手表 | leetcode 784: 字母大小写全排列 | |
---|---|---|
leetcode 51: N皇后问题 | leetcode 52: N皇后问题2 | leetcode 37: 解数独 |
---|---|---|
leetcode 944: 删列造序 | leetcode 1046: 最后一块石头的重量 | leetcode 122: 买卖股票的最佳时机2 |
---|---|---|
斐波那契数列 | 青蛙跳台阶问题 | 变态跳台阶 |
---|---|---|
矩形覆盖 | 剪绳子 | offer 49: 丑数 |
leetcode 1025:除数博弈 | leetcode 70: 爬楼梯 | leetcode 198:打家劫舍 |
---|---|---|
leetcode 53 | ||
leetcode 322: 零钱兑换 | leetcode 120: 三角形最小路径和 | leetcode 300: 最长上升子序列 |
---|---|---|
leetcode 64: 最小路径和 | ||
leetcode 174: 地下城游戏 | ||
---|---|---|