题目链接 :
class Solution
{
public:
int search(vector<int>& nums, int target)
{
int left = 0; //左边界
int right = nums.size()-1; //右边界
while(right >= left)
{
int middle = left + ((right-left)/2);
if (nums[middle] > target){
right = middle-1;
}
if (nums[middle] < target){
left = middle+1;
}
if (nums[middle] == target){
return middle;
}
}
return -1;
}
};
class Solution
{
public:
int removeElement(vector<int>& nums, int val)
{
int fast = 0;
int slow = 0;
int len = nums.size();
for (fast = 0; fast < len; fast++){
if (nums[fast] != val){
nums[slow] = nums[fast];
slow++;
}
}
return slow;
}
};