这种方法没用迭代,而是使用了循环的方式

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 -;
}
};

最新文章

  1. java基础--java.util.Date类型小结
  2. web 项目 连接mycat 读写分离失效问题,
  3. svn客户端命令
  4. 简述ES5 ES6
  5. 矩形覆盖-我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
  6. unity3d 扩展NGUI —— 限制UI点击响应间隔
  7. 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]
  8. [Environment Build] 如何实现Visual Studio中的区域语言环境切换
  9. Codevs 3305 水果姐逛水果街Ⅱ 倍增LCA
  10. 数据库系统原理及其应用总结---ShinePans
  11. 使用Ajax以及Jquery.form异步上传图片
  12. LNK1207: incompatible PDB format in********
  13. Windows Phone 8 - Runtime Location API - 1
  14. PyQtdeploy-V2.4 User Guide 中文 (二)
  15. jquery基本语法(一)
  16. 【java细节】Java代码忽略https证书:No subject alternative names present
  17. Oracle数据库管理----性能优化
  18. ADSL理解
  19. 2019.01.09 bzoj2599: [IOI2011]Race(点分治)
  20. HDU 4764 Stone (2013长春网络赛,水博弈)

热门文章

  1. HDU2874【LCA(模板)】
  2. 面试大厂回来后,有一些话想对 Java 后端开发说一说
  3. C 语言实例 - 求两数的最大公约数
  4. vue教程2-组件化开发
  5. GYM 101933E(记忆化搜索)
  6. NET高性能IO
  7. NET Core中使用Irony
  8. 071 Simplify Path 简化路径
  9. node.js安装Oracledb指导文档
  10. ADC中的滤波算法