剑指offer38 数字在排序数组中出现的次数
2024-09-29 19:15:32
这种方法没用迭代,而是使用了循环的方式
class Solution {
public:
int GetNumberOfK(vector<int> data ,int k) {
if(data.empty())
return ;
int First = getFirstofK(data,k);
int Last = getLastofK(data,k);
if(First == - || Last == -)
return ;
else
return Last - First + ;
}
int getFirstofK(vector<int> data,int k){
int length = data.size();
int begin = ;
int end = length - ;
while(begin <= end){
int mid = (begin + end)/;
if(data[mid] == k){
if(data[mid-] != k)
return mid;
else
end = mid - ;
}
else if(data[mid] < k)
begin = mid + ;
else
end = mid - ;
}
return -;
}
int getLastofK(vector<int> data,int k){
int length = data.size();
int begin = ;
int end = length - ;
while(begin <= end){
int mid = (begin + end)/;
if(data[mid] == k){
if(data[mid+] != k)
return mid;
else
begin = mid + ;
}
else if(data[mid] < k)
begin = mid + ;
else
end = mid - ;
}
return -;
}
};
最新文章
- java基础--java.util.Date类型小结
- web 项目 连接mycat 读写分离失效问题,
- svn客户端命令
- 简述ES5 ES6
- 矩形覆盖-我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
- unity3d 扩展NGUI —— 限制UI点击响应间隔
- 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]
- [Environment Build] 如何实现Visual Studio中的区域语言环境切换
- Codevs 3305 水果姐逛水果街Ⅱ 倍增LCA
- 数据库系统原理及其应用总结---ShinePans
- 使用Ajax以及Jquery.form异步上传图片
- LNK1207: incompatible PDB format in********
- Windows Phone 8 - Runtime Location API - 1
- PyQtdeploy-V2.4 User Guide 中文 (二)
- jquery基本语法(一)
- 【java细节】Java代码忽略https证书:No subject alternative names present
- Oracle数据库管理----性能优化
- ADSL理解
- 2019.01.09 bzoj2599: [IOI2011]Race(点分治)
- HDU 4764 Stone (2013长春网络赛,水博弈)