1.二分查找
链接https://leetcode.cn/problems/binary-search/submissions/
第一种方法(左闭右闭)没什么问题,关键是第2种,在定义while(left<right)的时候,需要注意target是在[left,right)中的,左闭右闭是[left,righ]可以得到一个数==left==right的,但左闭右开中当left==right时不存在一个数即等于一个值又不等于它;
2.移除元素
自己的思路是把等于val的值和后面的交换:
暴力解法就是2个for循环,一旦发现目标值后面的都往前移,需要注意的时移完一遍后在len--;
双指针法一开始看错了,应该先赋值,再slowIndex++的。思路是当firstIndex遇到val时跳到下一个直到不是val的时候,slowIndex不动,firstIndex把当前的值给slowIndex。
相向双指针和我自己的思路有点像,不过他是赋值的,我是交换的,需要注意的是复制到时候不需要判断条件不需要等于了,因为都是同一个了。