day1-数组内容1、二分查找;2、移除元素

文章介绍了如何在C++中使用二分查找算法在有序数组中搜索目标数据,并讨论了移除数组元素时考虑到数组连续性的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一级标题

题目内容1)二分查找:利用二分法,查找目标数据
2)移除元素:考察数组的特性,数组中元素都是相连的,删除一个,需要将后面的元素迭代上来

1)二分法代码
重点需要关注区间的开闭情况

class Solution {
public:
    int search(vector<int>& nums, int target) {//使用引用的方式创建一个vector容器
        int left=0;
        int right=nums.size()-1;
        while(left<=right){//
            int meddile=(left+right)/2;
            if(nums[meddile]>target){
                right=meddile-1;
            }
            else if(nums[meddile]<target){
                left=meddile+1;
            }
            else{
                return meddile;
            }
        }
        return -1;
    }
};

2)移除元素

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int slowIndex=0;
        for(int fastIndex=0;fastIndex<nums.size();fastIndex++){
            if(val!=nums[fastIndex]){
                nums[slowIndex++]=nums[fastIndex];
            }
        }
        return slowIndex;
    }
};
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值