/**
* 二分查找
* @param n int整型 数组长度
* @param v int整型 查找值
* @param a int整型一维数组 有序数组
* @return int整型
*/
function upper_bound_( n , v , a ) {
// write code here
function BinarySearch(i,j,arr,k){
let left = i;
let right = j;
var result = arr.length+1
while(left<right){
let mid = left+right >> 1
if(arr[mid]>=k){
right = mid
result = mid+1
}else if(arr[mid]<k){
left = mid + 1
}
}
return result
}
return BinarySearch(0,n-1,a,v)
}
module.exports = {
upper_bound_ : upper_bound_
};
相关文章
- 12-21使用二分查找法,查找一个有序的int[]中的某个数,并返回下标位置,如果不存在返回-1
- 12-21leetcode(34)---在排序数组中查找元素的第一个和最后一个位置(二分查找)
- 12-21LeetCode 34 - 在排序数组中查找元素的第一个和最后一个位置 - [二分][lower_bound和upper_bound]
- 12-21LeetCode 34 - 在排序数组中查找元素的第一个和最后一个位置 - [二分][lower_bound和upper_bound]
- 12-21二分查找(存在重复找到第一个的位置)
- 12-2134. 在排序数组中查找元素的第一个和最后一个位置(二分法)
- 12-21C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
- 12-21力扣-34题 在排序数组中查找元素的第一个和最后一个位置(C++)- 二分法