标签: c++ stl binary-search
对于数组,我可以始终使用其lower_bound计算数组中数字的upper_bound。
对于ex,我们得到一个数组: 2 3 4 4 4 5 6 我们将发现4的upper_bound位于索引5(2位于第0个索引)。我们可以使用lower_bound(4+1)找到它。
2 3 4 4 4 5 6
upper_bound
lower_bound(4+1)
类似地,我可以看到,几乎在每种情况下,如果我们要计算n的upper_bound,那么就可以使用lower_bound(n+1)进行计算。
lower_bound(n+1)
在任何情况下此属性都不成立。
答案 0 :(得分:0)
当然,对于某些问题,您也可以通过这种方式获得正确的答案,但是其他一些问题将返回错误的答案,例如以下代码:
FirebaseUser user = await _auth.signInWithCustomToken(token: customToken);
Key = 2147483647,index1 = 3,index2 = 0。
您可以通过index1等于3来判断数组中所有小于键的值,但无法通过“ lower_bound”方式获得正确答案。
对于2147483647 + 1 = -2147483648,它小于数组中的任何元素。