之前有刷过,然后太久没做题给忘了,重新写的时候就比较顺
704 二分查找
class Solution {
public int search(int[] nums, int target) {
if (nums == null) return -1;
int lo = 0, hi = nums.length - 1;
int mid = 0;
while (lo <= hi){
mid = lo + (hi - lo)/2;
if (target == nums[mid]){
return mid;
}else if (target > nums[mid]){
lo = mid + 1;
}else if (target < nums[mid]){
hi = mid - 1;
}
}
return -1;
}
}
27.移除元素
class Solution {
public int removeElement(int[] nums, int val) {
int fast = 0, slow = 0;
while (fast < nums.length){
if (nums[fast] != val){
nums[slow] = nums[fast];
slow++;
}
fast++;
}
return slow;
}
}