01| 704. 二分查找、27. 移除元素

561 阅读2分钟

二分查找

需要先了解数组基本概念以及二分法原理

题目链接

二分查找需要在有序数组中使用 冒泡排序

二分法的基本思想可以先有个大概的了解 二分查找法 里面的代码可能有些问题,但只需要关注二分法的思想

实现二分查找法需要关注左闭右闭和左闭右开两种情况,会影响是否写等号= 卡哥如是说:

image.png

注意:取middle时直接相加除以2会出现值溢出的情况,所以最好写为:

 int mid = left + ((right - left) >> 1);

移除元素

题目链接

讲解视频

移除元素要清楚数组中对元素的删除,不是直接抹去,而是覆盖,后面的值会向前移动一个位置 这里的重点是双指针方法,通过快慢指针在原数组基础上构建新数组,这样可以有效降低计算复杂度。 卡哥说的暴力解法(两个for循环,一个寻找目标值,一个向前覆盖)的计算复杂度:

image.png

碎碎念

第一次写博客,第一天刷代码题,很多很多第一次,就这样还没想好第一次怎么做就要上床睡觉了。第一天就开始焦虑,简单题不会写,基础概念也没接触,但马上就要秋招了,我这个代码小白能到什么水平呢。但是想想从高中到现在,总是不见棺材不落泪,这种拖沓的坏毛病总要改掉,不如从现在开始,以主动的方式去打败焦虑吧。 每天坚持刷题,坚持更新博客,不管技术还是感悟,只要有不一样的想法,那就是前进的一天。