#leetcode704

  昨天,我是在B站上学习KMP算法时,发现了一个宝藏博主,代码随想录,哈工大师兄,之前我是在帅地的朋友圈里通过图片见过代码随想录的本人,卡尔,当初我还没怎么留意的,我看了他讲解的KMP算法,觉得很有收获(一觉醒来,发现忘的差不多了,哈哈哈),然后关注了代码随想录的微信公众号,发现他还有一个个人网站,刷题顺序的,还有各种文章,真是跟发现宝藏差不多,看了他网站之后,感觉帅地的网站一般般啊。 昨天晚上我才开始写数据结构的作业的,从22:00开始到23:40,函数实现部分还行,当时脑子乱,几乎是跟着我上计算机网络(在这里吐槽一下YG的课,太水了,就只会照着PPT念,然后在不是特别重要的知识点上大费口舌)时自己手写的代码敲,然后到了main函数部分,还要文件操作,我刚开始还在如何创建文件上抓闹,问宿舍的人,别人也抓不住你想表达的点,真是够烦的了,然后写主函数也写不出来,就是如何设计用户交互不会,真烦,而且宿舍就我没写完了,别人在娱乐,我在抓狂,写作业,赶作业,真的不爽,这真的会把我之前建立“现学现卖,不会啥就学啥,我很聪明”的自信蹂躏了一遍又一遍(好吧,我承认,这个自信是我从别人哪里看来的,不是我的个人情况,那我还是做那个时刻准备好了的人吧),我体会到了肥明写大作业的绝望感了,我发现我每次写数据结构的作业就像是在写大作业一样,写作业真的只能靠自己,别人最多给你提供思路,具体实现还得靠自己,不抄别人的作业是我的底线,这是原则,自己没本事,感觉这世界好小,只有自己懂才是王道,啊啊啊啊离谱了,扯远了......

痛定思痛,我要开始写题了,就按照代码随想录给的路线来,看看我能坚持多久,真的,这世界上最难的事情就是坚持了。

二分查找,上代码!

 1 int search(int* nums, int numsSize, int target){
 2     int left = 0;
 3     int right = numsSize - 1;
 4     int mid = 0;
 5     while (left <= right)
 6     {
 7         mid = left + ((right - left) >> 1);//一开始我把这行代码放在while外面了,导致错误,mid的值是要时刻变化的,还有就是这样子求中间值是为了防止溢出
 8         if (nums[mid] > target)
 9         {
10             right = mid - 1;
11         }
12         else if (nums[mid] < target)
13         {
14             left = mid + 1;
15         }
16         else 
17             return mid;
18     }
19     return -1;
20 }

二分查找的特点:

数组必须是有序的

数组里面还不能有重复的数字

 

 附上一张图纪念我开始写力扣了,希望能坚持下去!

posted @ 2021-10-26 14:10  越菜越自信  阅读(71)  评论(1)    收藏  举报