一级标题
题目内容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;
}
};