Leetcode 704.二分查找
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 704.二分查找
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
?傳送門:力扣二分查找
#define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> #include<vector> #include<algorithm> using namespace std;class Solution { public:int search(vector<int>& nums, int target) {int right = nums.size() - 1;//size()函數(shù)返回的長(zhǎng)度包括結(jié)束符‘\0’,所以需要-1.int left = 0;while (left <= right) { //如果是左閉右閉的區(qū)間,就需要讓left<=right。 //如果是左閉右開(kāi)的區(qū)間,就需要讓left<right。int middle = left + (right - left) / 2;if (nums[middle] > target) {right = middle - 1;//左閉右閉,right更新的時(shí)候需要middle-1排除middle本身}else if (nums[middle] < target) {left = middle + 1;}else {return middle;}}return -1;} }; int main() {int a[] = { 0,2,4,7,8,6,1,-2,-5,9 };sort(a,a + sizeof(a) / sizeof(int));//先對(duì)a數(shù)組排序vector<int> nums(a,a+sizeof(a)/sizeof(int));容器放入a數(shù)組int target = 6;Solution solution;cout << solution.search(nums, target) << endl; }總結(jié)
以上是生活随笔為你收集整理的Leetcode 704.二分查找的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Uniapp组件之间传参
- 下一篇: oracle 出参类型定义,Oracle