剑指offer刷题总结

花了三天时间刷完了牛客OJ上剑指offer对应的66道算法题,感觉有一半都是做过的原题,还有一些是十分经典的算法题。因为好多算法题的思路在以前LeetCode博客上都详细讲过,剑指offer对应的博客就很简略,基本上直接上代码了。三天来把一些自认为很熟悉的快排和归并又重新码了一遍,感觉还是很难一把bugfree写对。递归和动态规划基本上写是没什么问题,暴力的递归还是很熟练的,但精巧的DP有时候就是想不到。分析欣赏时空复杂度的折中妥协以及各种tricks,不禁感叹:数据结构算法之美真的令人陶醉!!!

这里记下几道十分经典的算法题,都是一些既基础又较难的数据结构和算法,以后经常刷刷!

1.数据流中的中位数                                                       优先队列

2.二叉树的下一个结点                                                    树的递归

3.表示数值的字符串                                                        字符串

4.正则表达式匹配                                                           字符串

5.把字符串转换成整数                                                    字符串

6.数组中只出现一次的数字                                             位运算

7.平衡二叉树                                                                   树的递归

8.数字在排序数组中出现的次数                                       二分

9.数组中的逆序对                                                              归并

10.最小的K个数                                                                快排

11.二叉搜索树的后序遍历序列                                          树的递归

12.栈的压入、弹出序列                                                     栈

13.连续子数组的最大和                                                     DP

14.重建二叉树                                                                   树的递归遍历

15.孩子们的游戏(圆圈中最后剩下的数)                             循环链表

16.树的子结构                                                                   树的递归

17.整数中1出现的次数(从1到n整数中1出现的次数)      数学

你可能感兴趣的:(剑指offer刷题总结)