不知道这个题写了多少次,反正至少5遍以上。
一开始不会,看了答案会了。然后过了一个月再看,又不会了。然后再看,又会了。然后过了一年又不会了,然后再看,又会了。所以是没有真正的理解掌握吗?我真的很痛苦,刷题学算法。所以,就以博客的形式记录下来自己的思路吧!力扣题目链接
一、出错点
1.知道思路,写代码却无从下手
1.主要原因就是题目刷太少了,一开始还是记住吧,之后刷多了肯定就会了。等我刷多了题目再回来看看,是不是因为这个原因。
2.while循环时忘记里面填什么
1.注意区间,到底是左闭右闭,还是左闭右开。while里面只能填写有效的条件。
2.2024.3.1下午写的时候就忘记填什么了,我一直在nums[middle]和target里面想,晕了。为什么会这样啊啊啊!
3.middle在while里面的定义忘记写
1.出现了好几次这个问题,导致它一直在执行,超出时间范围。
二、理解后的思路
对于二分法自己是很熟悉了的,从高中数学学了就会了。可是要用代码写出来却一头雾水,真的想哭呜呜呜呜!
1.定义数组范围
所以就要有left和right
2.开始使用二分法
想到它是不断的检测中间值,所以要想到用循环。
那循环的条件呢?什么时候结束循环?
所以想到比较left和right可以用于结束循环
3.不断比较中间值和目标值
这个没问题,不容易出错。
三、总结
这一个简单的题,我断断续续写了好多次,错了又写,忘了又写,学了又忘,默了又写,写了又忘。呜呜呜,后面的路该怎么走啊!痛苦面具呜呜呜~
1.多写多看多记多默
脑子笨只能这样了