Algorithm 下界二进制搜索?

Algorithm 下界二进制搜索?,algorithm,binary-search,Algorithm,Binary Search,如何在常规二进制搜索中设置条件,以便找到最大值x,从而使f(x)t 现在我的界限是 if f(x) > t then high = x-1 else if f(x)< t then low = x+1 else return x 如果f(x)>t,则高=x-1 否则,如果f(x)t,则高=x-1 否则如果f(x)t, 那么你想要的只是x-1?(如有) PS:如果你使用C++,你可以用它来找到X的位置,那么X-1是你的答案< /p>当“代码> f(x))f(x)f(x)由f(x)排

如何在常规二进制搜索中设置条件,以便找到最大值x,从而使f(x)t

现在我的界限是

if f(x) > t then high = x-1
else if f(x)< t then low = x+1
else return x
如果f(x)>t,则高=x-1
否则,如果f(x)
主while循环是
而低这个怎么样

int ans = -1;

bsearch()
  if f(x) > t then high = x-1
  else if f(x)<= t then low = x+1, ans = x
intans=-1;
b研究()
如果f(x)>t,则高=x-1
否则如果f(x)t,
那么你想要的只是x-1?(如有)


PS:如果你使用C++,你可以用它来找到X的位置,那么X-1是你的答案< /p>当“代码> f(x))f(x)f(x)由f(x)排序时,最大值是返回的?如果不是,你就不能使用二进制搜索…@MyNameIsKhan这看起来不像二进制搜索。您应该选择您知道所需答案所在的存储桶的中间值,而不仅仅是减小搜索空间的大小。@Asad No,它是二进制搜索的main while循环的核心。x是介于低和高之间的中间值。