问题描述:二分查找
分析:确定左右边界
class Solution
{
public:
int Fun(vector<int>&arr,int key)
{
int mid = 0;
int start = 0;
int end = arr.size();
while(start <= end)
{
mid = start + (end - start)/2;
if(arr[mid] == key)
{
return mid;
}
else if(arr[mid] > key)
{
end = mid - 1;
}
else if(arr[mid] < key)
{
start = mid +1;
}
}
return -1;
}
};

本文深入探讨了二分查找算法的实现细节,包括如何确定左右边界,并通过具体代码示例展示了算法的工作流程。适用于初学者理解和掌握二分查找的基本原理。
880

被折叠的 条评论
为什么被折叠?



