代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
704.二分查找 题目链接:leetcode704 Binary search
暴力解法:
class Solution {
public:
int search(vector<int>& nums, int target) {
for(int i=0;i<nums.size();i++)
{
if(nums[i]==target)
{
return i;
}
}
return -1;
}
};
这里就是一个for循环来遍历数组然后找出是否存在条件。
Tips:nums.size() 求数组长度,然后我也见过nums.size()-1, 忘了这是啥了。(看到后面就想起来了是为了注意边界然后减1)
二分法:二分法使用条件:1.有序数组,2.无重复
二分法同时涉及了很多关于边界的条件,因此区间分为两种左闭右闭[left,right]和左闭右开[left,right)
第一种边界为[left,right]:
class Solution{
public:
int search(v