剑指offer刷题记录
秋招在即,在此记录本人的刷题记录,记录一下基本解题思路,希望评论区的各位仅聚焦题目内容本身讨论
不要讨论其他问题,尤其是某些人不要透漏我的个人信息。
剑指offer problem set在leetcode cn版已经下架,因此题目列表参考已经被GitCode[1]开源社区收录的力扣【剑指offer】题目汇总与总结
数组
2024/8/3
思路:数值内容当作索引,让每个数值内容放在正确的位置上,通过交换来实现正确放置。
思路:旋转矩阵变成二叉搜索树。
思路:二分法。这里直接放了力扣154的题目,因为原题表述实在不清晰,不如154描述问题清晰。
2024/8/4
思路:注意,必须剪成2段以上,真是坑人。动态规划或者数学解法,数学解法就是尽可能剪成2和3,3多2少。
思路:动态规划可以,但是数字太大要取1e9+7的模,这就必须注意了,python必须是对10**9+7
取mod,不能是对1e9+7
取mod,后者是浮点数,计算精度上会出大错!tnnd!
思路:该题实际上直接打印也可以,但是原题目要求打印大数,会超过int的范围,所以还是看一下string怎么遍历数字。
2024/8/5
略。
2024/8/7
明天讯飞面试了,蔚来也笔试了,赶紧临阵磨枪,不快也光。
思路:双指针,可以一个往后一个往前,也可以一快一慢。
考虑到秋招与做题兼顾,即日起,各种题型混着来,不能只做数组了。
- []
穿插着来leetcode面试top150,这里记录必刷题,也就是本人一次性做不对的题。
- 最长递增子序列https://leetcode.cn/problems/longest-increasing-subsequence
关键词:两重循环+dp。dp的元素是结尾是当前元素的递增子序列长度。
原因:只有这样才能保证dp含义的唯一性,不然会出现不知道该元素是否应该加入子序列的情况。 - LRU Cache https://leetcode.cn/problems/lru-cache/
关键词:哈希表+双向链表
就是那个在GitHub上的开发者不知情的情况下搬运项目到国内的GitCode ↩︎