DAY1打卡
DAY1
最近ddl多的想鼠 markdown也是第一次用 今天太晚了先贴一下代码 明天来写点思路总结
704 二分查找
之前写过
C++直接上代码
class Solution {
public:
int search(vector<int>& nums, int target) {
int n=nums.size();
int L=0;
int R=n-1;
int result=L+((R-L)>>1);
if(nums[0]>target || nums[R]<target) return -1;
while(nums[result]!=target){
if(nums[result]>target){
R=result-1;
result=L+((R-L)>>1);
}
if(nums[result]<target){
L=result+1;
result=L+((R-L)>>1);
}
if(nums[result]==target) return result;
if(L>R) return -1;
}
return result;
}
};
时间O(N)
空间O(1)
27 移除元素
第一次写
C++上代码
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int size=nums.size();
for(int i=0;i<size;++i){
if(nums[i]==val){
Move(nums,size,i);
--size;
--i;
}
}
return size;
}
void Move(vector<int>& nums, int size, int i){
for(int j=i+1;j<size;++j){
int prev=j-1;
nums[prev]=nums[j];
}
}
};
时间O(N)
空间O(1)
这里第一次写了个死循环出来,注意for的条件判断
还有i的原地踏步重新检查。
AC了、、两道很简单的题。虽然好像还有别的题但是明天再加上吧、、ddl要紧