关于二进制搜索中条件是否存在的问题

问题描述 投票:-1回答:1
int binary_search(const vector<int>& matrix, int target) {

        int start = 0, end = matrix.size() - 1; 
        while (start < end) {
            int mid = start + (end - start)/2;
            if (matrix[mid] <= target) {  // if (matrix[mid] < target)
                start = mid + 1;
            } else {
                end = mid;
            }
        }
        return end;
}
int main()
{
    cout << binary_search({1, 3, 7, 10, 20}, 15);
    return 0;
}

[嗨,我在while循环中混淆了<

二进制搜索中最令人困惑的部分是,我永远都不确定在条件语句中使用哪个“ <=”或“

即使我有一个基本的想法,但是在编码方面,我怎么能确定并确保它应该是“ <=”,那个应该是“

我很高兴有人可以输入。

谢谢!

arrays algorithm c++11 binary-search
1个回答
0
投票

实际上是

© www.soinside.com 2019 - 2024. All rights reserved.