class Solution { public: int GetNumberOfK(vector data ,int k) { int l = 0, r = data.size() - 1; if(data.empty()) return 0; //寻找上届和下届 while(l < r) { int mid = l + r >> 1; if(data[mid] >= k) { r = mid; } else { l = mid + 1; } } if(data[l] != k) return 0; int ans1 = l; l = 0, r = data.size() - 1;
while(l < r)
{
int mid = l + r + 1 >> 1;
if(data[mid] <= k)
{
l = mid;
}
else
{
r = mid - 1;
}
}
return l - ans1 + 1;
}
};

京公网安备 11010502036488号