我有一个按严格递减顺序排列的数组和一个元素val
;我想要找到数组中最大元素的索引,它小于val(或者如果val已经存在那里,则等于),并且我想在logn
时间内这样做。并且颠倒数组并且执行upper_bound()不是一个选项。二进制搜索递减列表?
例如,如果array为{10,5,3,1}且val为6,则函数应返回1.
我对迭代器非常陌生,尝试了在upper_bound()中添加比较函数以使其工作但它失败了。我应该如何去解决这个问题。
注:我发布之前检查了类似的问题,发现了一个,但不幸的是它涉及到Java,所以。
是[这](http://www.cplusplus.com/reference/算法/ upper_bound /)页面示例没有帮助? – P0W