day1 代码随想录打卡

1.数组:是存放在在连续空间内相同类型数据的集合。

*下标从0开始

*数组元素不能删,只能覆盖

2.二分算法

通过移动左右区间的实现二分:将middle的下标赋给left或者right实现二分

左闭右闭 [left,right] 和左闭右开 [left,right) 有一些区别:

①在更新左区间过程中,如果左闭右开,right = middle;如果左闭右闭,right = middle +1

②循环区间left<=right或者left<right 

3.移除元素

①暴力法 复杂度高

②双指针法(快慢指针):遍历快指针,慢指针指向需要覆盖的地址

https://code-thinking.cdn.bcebos.com/gifs/27.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0-%E5%8F%8C%E6%8C%87%E9%92%88%E6%B3%95.gif

4.有序数组的平方

由于数组有序,最大值在首尾,分别用两个指针指向他们,在一次遍历中比较首尾,然后移动指针继续进行比较。

https://code-thinking.cdn.bcebos.com/gifs/977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.gif

5.长度最小的子数组

依然使用双指针,首指针先不动,末尾指针依次移动,当满足条件时记录长度。然后移动首指针,看是否满足条件,如果满足,继续移动首指针,如果不满足,移动尾指针。

6.螺旋数组

确定为左开右闭,一圈为一个循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R.adish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值