代码随想录冲冲冲 Day1 数组part01

三道题目 需要注意的点总结

704. 二分查找

1. 设置开头结尾两个指针 left = 0 ; right = nums.size();

2.以前后指针相遇为条件进行loop

3.mid位置为left + ((right - left)/2)用来避免Leak

4.把vec的mid位置的值和Target相比,如果大于Target值则代表范围可以缩小到前半段

所以可以把右指针更新到mid位置

如果小于Target则代表范围可以缩小到前半段,所以把左指针更新到mid位置

5.要去分析【】和【)的区别,对于【】left = right有意义 所以要right = mid -1或left = mid + 1;

但如果是【)的情况左边就需要是left=mid 但右边就要是right = mid - 1 

【】对应left <= right , [)对应left < right

27. 移除元素

需要注意的点是 slow指针的位置恰好就是当前数组填满的部分 也就是长度 可以直接返回

977. 有序数组的平方

1.获取nums长度

2.新建一个vector去存result

比较两端哪个值更大 比较出后把值倒序放入result中 ,当k=0时代表所有位置都填满了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值