数据结构与算法:学习笔记(一) 二分法查找
LeetCode:704
二分法查找数组 nums 中 target = 4 的元素,并返回下标
没找到返回-1;
提示:以下不介绍算法,只记录vs中的coding以及运行后结果,仅供自己学习
#include<iostream>
using namespace std;
#include<vector>
class Solution_704 {
public:
static int search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size() - 1;
while (left <= right) {
int middle = (left + right) / 2;
if (nums[middle] < target) {
left = middle + 1;
}
else if (nums[middle] > target) {
right = middle - 1;
}
else {
return middle;
}
}
return -1;
}
};
int main() {
vector<int> nums = { 1,3,4,5,7,9 };
int target = 5;
Solution_704::search(nums, target);
cout << Solution_704::search(nums, target);
system("pause");
return 0;
}
运行结果如下: