上午准备ppt。下午面试告诉我去了实习才有入职的机会,我说如果不转正岂不是耽误我秋招了,她说没关系,我实习的时候还是可以继续面试其它家的工作,她们不管。
明显骗实习的,那为什么挂秋招的全职岗?害得我从昨天下午接到电话就开始准备ppt,感觉耽误了一天。
下午面试完又着急忙慌去上党课,上着上着突然哭了,又困又累还一点点希望的苗头都看不到。
晚上接着笔试测评,弄完才有时间打卡训练营。
704. 二分查找
第三次写二分查找,感觉大概流程心里都有数了。
看了卡哥的链接,把基本的想法又复习了一遍。
1、左闭右闭
right在区间内,left<=right
mid也在区间内,因此需要+1,-1
2、左闭右开
right在区间外,left<right
mid在赋值右边界的时候不需要-1
代码
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)/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 slow=0;
for(int fast=0;fast<nums.size();fast++){
if(nums[fast]!=val) nums[slow++]=nums[fast];
}
return slow;
}
};
感觉很神奇。。一下子被打开了新世界一样。