之前已经做过几遍了,靠自己的印象直接开始写,还好都还记得
704.二分查找
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size() - 1;
while(left <= right){
int middle = left + (right - left)/2;
if(nums[middle] < target){
left = middle + 1;
}else if(nums[middle] > target){
right = middle - 1;
}else{
return middle;
}
}
return -1;
}
};
27.移除元素
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int left = 0;
int right = 0;
while(right < nums.size()){
if(nums[right] == val){
right++;
}else{
nums[left] = nums[right];
left++;
right++;
}
}
return left;
}
};