LeetCode704 二分查找
文章讲解:代码随想录
视频讲解:手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili
第一想法:自以为理论滚瓜烂熟,写出来bug一堆。最终一点点debug补救通过了,但是非常的沮丧。
看完随想录后:从没想过什么左闭右开什么的。。。还是写代码之前太想当然了,有坚实的理论基础才能写的顺利。
困难:一开始用while left < right:同时在mid往left或者right赋值时并没有+1或者-1.遇到的问题是如果target不在数组里,那么就会infinite loop。解决方法用while left < right - 1:这是能确保while loop会停下,但是又出现一个问题,left永远不会等于right,那么如果数组中只有一个数字的时候,while loop都不会进去,那么就需要补救措施,就是在while loop后增加判断下标为left或者right的数字是否与target相等,再做相对应的输出left或者right。代码写得非常差劲,跟随想录里的答案比较简直一坨,希望跟着打卡营坚持下来会有提升吧。
LeetCode27 移除元素
文章讲解:代码随想录
视频讲解:数组中移除元素并不容易! | LeetCode:27. 移除元素_哔哩哔哩_bilibili
第一想法:做过,所以答案的思路也清楚,但是如果不是知道答案,一定也是想不到最优解的。愚蠢的自己只能想到最笨的解法。
看完随想录后:写的很清楚!
困难:没遇到什么困难
LeetCode977 有序数组平方
第一想法:list comprehension 平方每个元素加 sort 两行搞定 O(nlogn + n),两行解决问题,自己以为弄得明明白白,牛的不行,(这种秒杀题的快感只能宣泄在easy的题目上了。
看完随想录后:很想回到做完题的那时候给自己一巴掌。双指针的用法真是多啊!
困难:写的很详细,看完就会了,没什么困难。
今日收获:二分查找的具体实现细节理解的更加清晰了;27,977双指针的应用确实狠巧妙,以后在做题的时候也要多往这些方法上考;学习时长1.5小时,用午休和下班后一点点时间完成,以后题目变难了可能就没这么短了。这些容易的题目我都能发掘出这么多问题,我相信我跟下这个打卡营一定能收获颇丰的。