已解决
【算法专题突破】二分查找 - 704. 二分查找(16)
来自网友在路上 149849提问 提问时间:2023-09-24 02:52:15阅读次数: 49
最佳答案 问答题库498位专家为你答疑解惑
目录
1. 题目解析
2. 算法原理
3. 代码编写
写在最后:
1. 题目解析
题目链接:704. 二分查找 - 力扣(LeetCode)
题目非常简单,就是查找一个 target。
2. 算法原理
根据最基本的二分查找算法:
在一个有序数组里面,左右边界分别是 left 和 right,mid 指向的位置的值是 x
1. x < target,left = mid + 1
2. x > target,right = mid - 1
3. x == target,返回结果即可·
3. 代码编写
class Solution {
public:int search(vector<int>& nums, int target) {int left = 0, right = nums.size() - 1;while(left <= right) {int mid = left + (right - left) / 2;if(nums[mid] < target) left = mid + 1;else if(nums[mid] > target) right = mid - 1;else if(nums[mid] == target) return mid;}return -1;}
};
4. 第一种二分模板
这个就是我们的第一个模板啦~
while (left <= right) {
int mid = left + (right - left) / 2;
if ( ... ) left = mid + 1;
else if ( ... ) right = mid - 1;
else if ( ... ) return mid;
}
写在最后:
以上就是本篇文章的内容了,感谢你的阅读。
如果感到有所收获的话可以给博主点一个赞哦。
如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~
查看全文
99%的人还看了
相似问题
- 【二叉树】常见题目解析(2)
- 力扣题目学习笔记(OC + Swift)
- 【PTA题目】L1-4 稳赢 分数 15
- 初刷leetcode题目(5)——数据结构与算法
- 竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
- 初刷leetcode题目(1)——数据结构与算法
- 【华为OD机试AB高分必刷题目】拆分(Python-贪心算法实现)
- 通过一道题目带你深入了解WAF特性、PHP超级打印函数、ASCII码chr()对应表等原理[RoarCTF 2019]Easy Calc 1
- 数据结构:Map和Set(2):相关OJ题目
- C++模板元模板实战书籍讲解第一章题目讲解
猜你感兴趣
版权申明
本文"【算法专题突破】二分查找 - 704. 二分查找(16)":http://eshow365.cn/6-12480-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 大厂面试-16道面试题
- 下一篇: mac安装chromedriver驱动详细步骤