【C++题目速刷】二分查找

【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链接

【C++题目速刷】二分查找_第1张图片

2、解题

【C++题目速刷】二分查找_第2张图片

3、代码

【C++题目速刷】二分查找_第3张图片

二、在排序数组中查找元素的第一个和最后一个位置

1、题目链接

leetcode链接

【C++题目速刷】二分查找_第4张图片

2、解题

【C++题目速刷】二分查找_第5张图片

3、代码

【C++题目速刷】二分查找_第6张图片

4、算法模板

【C++题目速刷】二分查找_第7张图片
底下是+1,上面就不+1,底下是-1,上面就+1

三、x的平方根

1、解题链接

leetcode链接

【C++题目速刷】二分查找_第8张图片

2、解题

【C++题目速刷】二分查找_第9张图片

3、代码

【C++题目速刷】二分查找_第10张图片

四、搜索插入位置

1、题目链接

leetcode链接

【C++题目速刷】二分查找_第11张图片

2、解题

【C++题目速刷】二分查找_第12张图片

3、代码

【C++题目速刷】二分查找_第13张图片

五、山脉数组的峰顶索引

1、题目链接

leetcode链接

【C++题目速刷】二分查找_第14张图片

在这里插入图片描述

2、解题

【C++题目速刷】二分查找_第15张图片

3、代码

【C++题目速刷】二分查找_第16张图片

六、寻找峰值

1、题目链接

leetcode链接
【C++题目速刷】二分查找_第17张图片
【C++题目速刷】二分查找_第18张图片

2、解题

【C++题目速刷】二分查找_第19张图片

3、代码

【C++题目速刷】二分查找_第20张图片

七、寻找旋转排序数组中的最小值

1、题目链接

leetcode链接
【C++题目速刷】二分查找_第21张图片

2、解题

【C++题目速刷】二分查找_第22张图片

3、代码

以nums[0]为基准
【C++题目速刷】二分查找_第23张图片

以nums[nums.size()-1]为基准
【C++题目速刷】二分查找_第24张图片

八、点名

1、题目链接

leetcode链接

【C++题目速刷】二分查找_第25张图片

2、解题

可以有五种做题方式,前四种全是算法复杂度为O(n),最后一种算法复杂度为O(logn)

哈希表,直接遍历查找结果,位运算,高斯求和公式和二分查找

我们只讲解二分查找算法:
【C++题目速刷】二分查找_第26张图片

3、代码

【C++题目速刷】二分查找_第27张图片


你可能感兴趣的:(C++刷题,c++,开发语言)