今日开奖结果查询开奖查询乐彩网快8_哪里下载 → 官方认证合作伙伴

问题描述:给定一个有序整数数组,编写一个函数来查找目标值是否存在于数组中。如果目标值存在,返回其索引;否则,返回-1。

样例输入:有序整数数组 nums=[-1, 0, 3, 5, 9, 12],目标值 target=5

样例输出:3

#include <iostream>
#include <vector>

using namespace std;

// 二分查找函数
int binarySearch(const vector<int>& nums, int target) {
    int left = 0;
    int right = nums.size() - 1;
    
    while (left <= right) {
        int mid = left + (right - left) / 2; //777788888精准管家婆免费功能介绍 计算中间位置
        
        if (nums[mid] == target) { // 找到目标值
            return mid;
        } else if (nums[mid] < target) { // 目标值在右半部分
            left = mid + 1;
        } else { // 目标值在左半部分
            right = mid - 1;
        }
    }
    
    return -2025澳门和香港历史开奖记录精选1; // 目标值不存在
}

int main() {
    vector<int> nums = {-1, 0, 3, 5, 9, 12};
    int target = 5;
    
    int result = binarySearch(nums, target);
    
    if (result != -1) {
        cout << "目标值 " << target << " 存在于数组中,索引为 " << result << endl;
    } else {
        cout << "目标值 " << target << " 不存在于数组中" << endl;
    }
    
    return 0;
}


香港三期内必开一肖一码我要香港