外贸 企业网站 建设,织梦做的网站在手机上显示,做购物网站,做网站和做app哪个难牛客题霸 二分查找 C题解/答案
题目描述
请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置#xff0c;如果数组中不存在这样的数#xff0c;则输出数组长度加一。 示例1 输入 复制 5,4,[1,2,4,4,5] 返回值 复制 3
题解#xff1a;
二分模…牛客题霸 二分查找 C题解/答案
题目描述
请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置如果数组中不存在这样的数则输出数组长度加一。 示例1 输入 复制 5,4,[1,2,4,4,5] 返回值 复制 3
题解
二分模板题 如果是学竞赛的应该很懂 二分的本质就像是翻字典一开始l0rn先翻到最中间mid(rl)/2然后看目标单词是在左侧还是右测如果是在左侧我们就继续翻左侧的中间页重复上述操作l0,rmid-1mid(lr)1
代码
class Solution {
public:/*** 二分查找* param n int整型 数组长度* param v int整型 查找值* param a int整型vector 有序数组* return int整型*/int upper_bound_(int n, int v, vectorint a) {// write code hereint l0;int rn-1;if(a[n-1]v)return n1;while(lr){int mid(lr)1;//if(a[mid]v)return mid1;if(a[mid]v)lmid1;else rmid-1;}return l1;}
};