3479 . 单选题 Puls

根据下述⼆分查找法,在排好序的数组 1,3,6,9,17,31,39,52,61,79 中查找数值 31,循环 while (left <= right) 执⾏的次数为?

int binary_search(vector < int > & nums, int target) {
    int left = 0;
    int right = nums.size() - 1;
    while (left <= right) {
        int mid = left + (right - left) / 2;
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }


    return -1; // 如果找不到目标元素,返回-1
}