leetcode 704题 [二分查找binarysearch]

2023-10-28

leetcode 704题 [二分查找binarysearch]

题目要求:

输入:数组,目标数据
输出:目标数据在数组中的下标值

前提是该数组已经有序且没有重复元素

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;

        while(left <= right)
        {
            int middle = (left + right) / 2;
            if(nums[middle] == target)
                return middle;
            else if(nums[middle] < target)
                left = middle + 1;
            else right = middle - 1;
        } 
        return -1;
    }
};

vs代码调试用例

#include <iostream>
using namespace std;
#include <vector>
class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;

        while (left <= right)
        {
            int middle = (left + right) / 2;
            if (nums[middle] == target)
                return middle;
            else if (nums[middle] <target)
                left = middle + 1;
            else right = middle - 1;
        }
        return -1;
    }

};
int main(void)
{
    vector <int> num={4,2,6,29,33,41,75,90};
    int target = 75;
    Solution s;
    cout << s.search(num, target);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode 704题 [二分查找binarysearch] 的相关文章

随机推荐