简介
基础知识
笔试题
模拟 ★★★★★ 可难可易 大部分题都是模拟中使用某个算法优化
贪心 ★★★ 按照某种规则排序
字符串 ★★★ 输入输出容易搞人 双指针处理字符串空格单词
DFS/BFS ★★★ 有多少种组合数 图的最短时间
滑动窗口/双指针 ★★ 最短或最长的子串 最多可变k次
DP ★★ 看运气 背包问题居多 遍历时维护最值
堆 ★★ 学会自定义数据的排序规则
并查集 ★★ 寻找连通分量和最大集合数量
找规律/数学 ★ 看运气
前缀和 ★ 子数组范围较小时直接用
二分法 ★ 灵活运用库函数lower_bound和upper_bound
单调栈 ★ 通常跟数组有关
迪杰斯特拉算法/弗洛伊德 ★ 通常不考
字典树 ★ 出现前缀字符串查询或者异或值直接用
高精度 ★ 大数乘法或大数加法
注意
数值较大的结果考虑用long long
动态规划写不来,先写暴力过部分测试样例
特殊输出先提交一下,骗点分了再说
练习处理诡异输入的能力
手撕代码
剑指Offer
LeetCode编号前200题
按tag刷题,每个类型刷10道左右
LeetCode经典题目讲解:参考这个仓库。
书单
C++
《C++ Primer》第五版
《后台开发: 核心技术与应用实践》 徐晓鑫
Java
《深入理解JVM虚拟机》周志明
计算机基础
《深入理解计算机系统》
《Linux高性能服务器编程》 游双
《Redis设计与实现》黄健宏
算法
《算法导论》第三版
《算法笔记》胡凡
《剑指offer》何海涛
《算法竞赛入门指南》刘汝佳 第二版
《程序员面试指南》左程云
AI
《机器学习》周志华
课程
题库
算法
左程云
花花酱
闫学灿
其他
Last updated