【刷题DAY1】数组|704.二分查找 27.移除元素

2,062 阅读1分钟

704.二分查找

int search(vector<int>& nums, int target) {
        // 有序数组查找 二分
        int low = 0;
        int high = nums.size()-1;
        while(low <= high){
            int mid = (low + high)/2;
            if(nums[mid] == target){
                return mid;
            }else if(nums[mid] < target){
                low = low + 1;
            }else {
                high = high -1;
            }
        }
        return -1;
    }

27. 移除元素

int removeElement(vector<int>& nums, int val) {
        int val_count = 0;
        for(int i=0; i< nums.size(); i++){
            if(nums[i] == val){
                val_count++;
                continue;
            }
            nums[i-val_count] = nums[i];
        }
        return nums.size() - val_count;
    }