【C++题目速刷】二分查找
- 一、二分查找
- 1、题目链接
- 2、解题
- 3、代码
- 二、在排序数组中查找元素的第一个和最后一个位置
- 1、题目链接
- 2、解题
- 3、代码
- 4、算法模板
- 三、x的平方根
- 1、解题链接
- 2、解题
- 3、代码
- 四、搜索插入位置
- 1、题目链接
- 2、解题
- 3、代码
- 五、山脉数组的峰顶索引
- 1、题目链接
- 2、解题
- 3、代码
- 六、寻找峰值
- 1、题目链接
- 2、解题
- 3、代码
- 七、寻找旋转排序数组中的最小值
- 1、题目链接
- 2、解题
- 3、代码
- 八、点名
- 1、题目链接
- 2、解题
- 3、代码
一、二分查找
1、题目链接
leetcode链接
2、解题
3、代码
二、在排序数组中查找元素的第一个和最后一个位置
1、题目链接
leetcode链接
2、解题
3、代码
4、算法模板
底下是+1,上面就不+1,底下是-1,上面就+1
三、x的平方根
1、解题链接
leetcode链接
2、解题
3、代码
四、搜索插入位置
1、题目链接
leetcode链接
2、解题
3、代码
五、山脉数组的峰顶索引
1、题目链接
leetcode链接
2、解题
3、代码
六、寻找峰值
1、题目链接
leetcode链接
2、解题
3、代码
七、寻找旋转排序数组中的最小值
1、题目链接
leetcode链接
2、解题
3、代码
以nums[0]为基准
以nums[nums.size()-1]为基准
八、点名
1、题目链接
leetcode链接
2、解题
可以有五种做题方式,前四种全是算法复杂度为O(n),最后一种算法复杂度为O(logn)
哈希表,直接遍历查找结果,位运算,高斯求和公式和二分查找
我们只讲解二分查找算法: