给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
来源:力扣(LeetCode)
链接:link
class Solution {
public:
int search(vector<int>& nums, int target) {
int l = 0, r = nums.size()-1;
while(l < r){
int mid = (l + r ) >> 1;
if(nums[mid] >= target) r = mid;
else l = mid + 1;
}
if(nums[l] == target) return l;
return -1;
}
};
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入
来源:力扣(LeetCode)
链接:link
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int i = 0, j = 0;
while(j < nums.size()){
if(nums[j] != val) nums[i++] = nums[j++];
else j++;
}
return i;
}
};