二分查找
需要先了解数组基本概念以及二分法原理
二分查找需要在有序数组中使用 冒泡排序
二分法的基本思想可以先有个大概的了解 二分查找法 里面的代码可能有些问题,但只需要关注二分法的思想
实现二分查找法需要关注左闭右闭和左闭右开两种情况,会影响是否写等号= 卡哥如是说:
注意:取middle时直接相加除以2会出现值溢出的情况,所以最好写为:
int mid = left + ((right - left) >> 1);
移除元素
移除元素要清楚数组中对元素的删除,不是直接抹去,而是覆盖,后面的值会向前移动一个位置 这里的重点是双指针方法,通过快慢指针在原数组基础上构建新数组,这样可以有效降低计算复杂度。 卡哥说的暴力解法(两个for循环,一个寻找目标值,一个向前覆盖)的计算复杂度:
碎碎念
第一次写博客,第一天刷代码题,很多很多第一次,就这样还没想好第一次怎么做就要上床睡觉了。第一天就开始焦虑,简单题不会写,基础概念也没接触,但马上就要秋招了,我这个代码小白能到什么水平呢。但是想想从高中到现在,总是不见棺材不落泪,这种拖沓的坏毛病总要改掉,不如从现在开始,以主动的方式去打败焦虑吧。 每天坚持刷题,坚持更新博客,不管技术还是感悟,只要有不一样的想法,那就是前进的一天。