二分查找
在数组升序的条件下,寻找目标值target,找到返回其下标。
#include#include using namespace std; class Solution { public: int serach(vector &nums, int target) { int right = nums.size() - 1; int left = 0; while (left <= right) { int mid = (right - left) / 2 + left; int num = nums[mid]; if (num == target) { return mid; } else if (num > target) { right = mid - 1; } else left = mid + 1; } return -1; } }; void test01() { vector v1; Solution a; int m; v1.push_back(1); v1.push_back(3); v1.push_back(5); v1.push_back(7); v1.push_back(8); v1.push_back(9); m = a.serach(v1, 3); cout << m; } int main() { test01(); system("pause"); return 0; }



