数组,双指针/二分法

熟悉VS2022环境,新建项目工程和源文件,能够成功运行程序。但建立的每个项目只能成功运行一个程序,否则需要新建一个项目,报错是 LINK : fatal error LNK1104: 无法打开文件“C:\Users\acer\Documents\Visual Studio 2010\Projects\test .exe”。暂时解决方案是对每天的题目都新建一个项目以Day1命名。

今天的2个数组类的题目都自己重写了2遍以上,主要是熟悉写代码的感觉,能够更好的理解掌握好每天的题目。

1、移除数组某个元素,不改变相对位置。1、暴力移除,两个for循环,一个for循环遍历数组,寻找移除元素,另一个for循环更新数组。注意循环更新数组时,索引值相应更新处于循环的具体位置。

2、双指针操作,相对来说,代码简单了很多。两个指针,一个指针寻找非移除元素,并以慢指针为索引更新数组。最后返回的slowIndex就是移除元素后的数组索引,其大小就是新数组大小。return slowIndex这块好好想想。

二分法查找排序数组当中的某个数并返回其索引。思路很正常,顾名思义,每次都以左右区间的中间位置数组来判断target处于数组的那一半,然后更新新数组的边界值,再去做二分法搜索,依次循环。这里的一个问题是更新新数组边界值时,注意区间的开闭问题,是左右都闭还是有一侧是开区间。感觉不是那么难,正常逻辑去做就行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值