当前位置:网站首页>leetcode704. 二分查找(查找某个元素,简单,不同写法)
leetcode704. 二分查找(查找某个元素,简单,不同写法)
2022-07-06 06:55:00 【重you小垃】
要点:始终维护的区间和初始时的位置是一样的即可。
1:左开右开
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:左闭右闭
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:左开右闭
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偏向r一边,否则会陷入死循环
if (nums[mid] == target) return mid;
else if (nums[mid] > target) r = mid - 1;
else l = mid;
}
return -1;
}
};
4:左闭右开
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;
}
};
边栏推荐
- [ 英語 ] 語法重塑 之 動詞分類 —— 英語兔學習筆記(2)
- Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL
- Blue Bridge Cup zero Foundation National Championship - day 20
- 从autojs到冰狐智能辅助的心里历程
- After working for 10 years, I changed to a programmer. Now I'm 35 + years old and I'm not anxious
- A brief introduction of reverseme in misc in the world of attack and defense
- 《从0到1:CTFer成长之路》书籍配套题目(周更)
- 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
- Facebook AI & Oxford proposed a video transformer with "track attention" to perform SOTA in video action recognition tasks
- 中青看点阅读新闻
猜你喜欢
万丈高楼平地起,每个API皆根基
Visitor tweets about how you can layout the metauniverse
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
Do you really know the use of idea?
接口自动化测试框架:Pytest+Allure+Excel
Short video, more and more boring?
Misc of BUU (update from time to time)
Apache dolphin scheduler source code analysis (super detailed)
Brief introduction to the curriculum differences of colleges and universities at different levels of machine human major -ros1/ros2-
Database basics exercise part 2
随机推荐
[English] Verb Classification of grammatical reconstruction -- English rabbit learning notes (2)
Monotonic stack
Due to high network costs, arbitrum Odyssey activities are suspended, and nitro release is imminent
Fast target recognition based on pytorch and fast RCNN
19.段页结合的实际内存管理
Oracle数据库11gr2使用tde透明数据加密报错ora28353,如果运行关闭wallet会报错ora28365,运行打开wallet就报错ora28353无法打开wallet
基于购买行为数据对超市顾客进行市场细分(RFM模型)
因高额网络费用,Arbitrum 奥德赛活动暂停,Nitro 发行迫在眉睫
What is the biggest problem that fresh e-commerce is difficult to do now
BUU的MISC(不定时更新)
Practical guidance for interface automation testing (Part I): what preparations should be made for interface automation
Pymongo gets a list of data
《从0到1:CTFer成长之路》书籍配套题目(周更)
[brush questions] how can we correctly meet the interview?
SAP SD发货流程中托盘的管理
Successfully solved typeerror: data type 'category' not understood
Data security -- 13 -- data security lifecycle management
Refer to how customer push e-commerce does content operation
When my colleague went to the bathroom, I helped my product sister easily complete the BI data product and got a milk tea reward
这个高颜值的开源第三方网易云音乐播放器你值得拥有