当前位置:网站首页>leetcode704. Binary search (find an element, simple, different writing)
leetcode704. Binary search (find an element, simple, different writing)
2022-07-06 07:03:00 【Heavy garbage】
The main points of : Always maintain the same interval as the initial position .
1: Left open right open
class Solution {
public:
int search(vector<int>& nums, int target) {
int l = -1, r = nums.size();
while (l + 1 < r) {
int mid = l + (r - l) / 2;
if (nums[mid] == target) return mid;
else if (nums[mid] > target) r = mid;
else l = mid;
}
return -1;
}
};
2: Left and right closed
class Solution {
public:
int search(vector<int>& nums, int target) {
int l = 0, r = nums.size() - 1;
while (l <= r) {
int mid = l + (r - l) / 2;
if (nums[mid] == target) return mid;
else if (nums[mid] > target) r = mid - 1;
else l = mid + 1;
}
return -1;
}
};
3: Left open right closed
class Solution {
public:
int search(vector<int>& nums, int target) {
int l = -1, r = nums.size() - 1;
while (l < r) {
int mid = l + (r - l) / 2 + 1;//mid deviation r On one side , Otherwise, it will fall into a dead cycle
if (nums[mid] == target) return mid;
else if (nums[mid] > target) r = mid - 1;
else l = mid;
}
return -1;
}
};
4: Left closed right away
class Solution {
public:
int search(vector<int>& nums, int target) {
int l = 0, r = nums.size();
while (l < r) {
int mid = l + (r - l) / 2;
if (nums[mid] == target) return mid;
else if (nums[mid] > target) r = mid;
else l = mid + 1;
}
return -1;
}
};
边栏推荐
猜你喜欢
【软件测试进阶第1步】自动化测试基础知识
SAP SD发货流程中托盘的管理
How to reconstruct the class explosion caused by m*n strategies?
【每日一题】729. 我的日程安排表 I
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm
MPLS experiment
首发织梦百度推送插件全自动收录优化seo收录模块
Thought map of data warehouse construction
云上有AI,让地球科学研究更省力
随机推荐
Simple use of JWT
Reflex WMS中阶系列3:显示已发货可换组
Hydra common commands
Blue Bridge Cup zero Foundation National Championship - day 20
Development of entity developer database application
Arduino tutorial - Simon games
Day 246/300 SSH connection prompt "remote host identification has changed!"
简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
因高额网络费用,Arbitrum 奥德赛活动暂停,Nitro 发行迫在眉睫
[some special grammars about C]
Kubernetes cluster builds ZABBIX monitoring platform
SEO学习的最好方式:搜索引擎
Raspberry pie 3B update VIM
leetcode704. 二分查找(查找某个元素,简单,不同写法)
3. Business and load balancing of high architecture
Map of mL: Based on the adult census income two classification prediction data set (whether the predicted annual income exceeds 50K), use the map value to realize the interpretable case of xgboost mod
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
微信公众号无限回调授权系统源码 全网首发
【软件测试进阶第1步】自动化测试基础知识
【Hot100】739. 每日温度