说明:
随着写的题目多了,整个博客显得有些杂乱无章,学着其他博主,建立一个目录,方便自己快速能找到相应的题目。再者,可以从这次整理中,将以前的只用C++代码写过的题目增添Java版,也是相当于再梳理一次全书。工程量还是挺大的,继续前行,哈哈。参考ryderchan的博客,将所有题目分别按照类别和《剑指offer》(第二版)题目对应的页码进行整理。
有一段时间没更新了,感觉又忘了好多,前一阵有点着急忙其他的,以后每天更新一题,希望完成任务。加油!!!
19/05/16更,将每一部分增加一个总结很有必要,刷题也是一个类别一个类别的刷,不过好像忘得有点快,哈哈,加油!
19/05/21更,发现还是有些题目刷过又忘了,之后结合LeetCode,然后按照tag来刷,第一个招聘的Vivo已经开始了,说明时间不多了,加油!!
19/05/25更,刚拿到新的一本左神的代码书籍《Coding Interview Guide》,看里面的归类方式很好,所有这里原来的顺序也更改一下,并从左神的书中找出《剑指offer》中题的最优解,或者更新一些题在这里,华为海思也开始招聘了,加油呀~
19/06/13更,目前投了华为海思和招行实习,感觉复习的进度还是有点慢,加油!
19/06/18更,准备试一下二十九所的提前批,还有一个月,抓紧时间!
=============================================================
19/08/21更,三年级了。
按照类别顺序分析
设计模式类
| 页码 | 题目 |
|---|---|
| 32 | 2.实现Singleton模式 |
栈队列
| 页码 | 题目 |
|---|---|
| 68 | 总结:栈和队列 |
| 68 | 9.用两个栈实现队列(1) |
| 165 | 30.包含min函数的栈(1) |
| 168 | 31.栈的压入弹出序列(1) |
| 288 | 59.1.滑动窗口的最大值(1) |
| 292 | 59.2.队列的最大值(1) |
链表问题
二叉树问题
递归和动态规划
| 页码 | 题目 |
|---|---|
| 74 | 10.斐波那契数列(1) |
| 94 | 总结:动态规划 |
| 96 | 14.剪绳子(1) |
| 218 | 42.连续子数组的最大和(1) |
| 231 | 46.把数字翻译成字符串(1) |
| 233 | 47.礼物的最大值(1) |
| 236 | 48.最长不含重复字符的子字符串(1) |
| 304 | 63.股票的最大利润(1) |
字符串问题
| 页码 | 题目 |
|---|---|
| 51 | 总结:字符串经典算法 |
| 51 | 5.替换空格( 1 ) |
| 124 | 19.正则表达式匹配 |
| 127 | 20.表示数值的字符串 |
| 236 | 48.最长不含重复字符的子字符串(1) |
| 284 | 58.1.翻转字符串(翻转单词顺序)(2) |
| 286 | 58.2.左旋转字符串(2) |
| 318 | 67.把字符串转换成整数(1) |
大数据和空间限制(新增)
| 页码 | 题目 |
|---|---|
| P331 | 认识布隆过滤器 |
| P335 | 只用2GB内存在20亿个整数中找到出现次数最多的数 |
| P336 | 40亿个非负整数中找到未出现的数 |
| P337 | 找到100亿个URL中重复的URL及搜索词汇的Top K问题 |
| P338 | 40亿个非负整数中找到出现两次的数和所有数的中位数 |
| P339 | 一致性哈希算法的基本原理 |
位运算
| 页码 | 题目 |
|---|---|
| 99 | |
| 100 | 15.二进制中1的个数 |
| 277 | 56.数组中只出现一次的两个数字(1) |
| 278 | 56.2.数组中唯一出现一次的数字(1) |
| 279 | |
| 310 | |
| 312 | 66.构建乘积数组 |
数组和矩阵问题(新增)
堆结构
| 总结:堆结构 |
哈希
| 页码 | 题目 |
|---|---|
| 39 | 3.数组中重复的数 |
| 243 | 50.第一个只出现一次的字符(2) |
| 247 | 50.2.流中第一个出现一次的字符(1) |
查找
| 页码 | 题目 |
|---|---|
| 44 | 4.二维数组中的查找(2) |
| 79 | 总结:查找算法(1) |
| 82 | 11.旋转数组的最小数字(2) |
| 263 | 53.数字在排序数组中出现的次数(2) |
| 266 | 53.2.0~n中缺失的数字(2) |
| 267 | 53.3.数组中数值和下标相等的元素(2) |
排序
| 页码 | 题目 |
|---|---|
| 79 | 总结:各种排序算法(1) |
| 79 | |
| 129 | 21.使数组中奇数位于偶数前面(2) |
| 205 | 39.数组中出现次数超过一半的数字(2) |
| 209 | 40.最小的k个数(2) |
| 214 | 41.数据流中的中位数 |
| 227 | 45.把数组排序成最小的数 |
| 249 | 51.数组中的逆序对(2) |
其他类
| 页码 | 题目 |
|---|---|
| 74 | 10.斐波那契数列 |
| 307 | 64.求1+2+…+n |
按照页码顺序分析
| 页码 | 题目 |
|---|---|
| 25 | 1.赋值运算符函数 |
| 51 | 5.替换空格 |
| 298 | 61.扑克牌中的顺子 |
| 307 | 64.求1+2+…+n |
| 280 | 57.1 和为S的两个数字(1) |
| 282 | 57.2 和为S的连续整数序列(1) |
本博客详细解析《剑指Offer》题解,涵盖设计模式、链表、二叉树、递归动态规划、字符串、大数据处理、位运算、数组矩阵、堆结构、哈希、查找、排序及其他算法问题。分享个人学习心得,记录从C++到Java的代码迁移,助力技术提升。
(持续更新中……)&spm=1001.2101.3001.5002&articleId=87605366&d=1&t=3&u=65a93ea5747c4a7a9dcac865b30d4ae2)
496

被折叠的 条评论
为什么被折叠?



