数字在排序数组中出现的次数
来源:互联网 发布:州立大学 知乎 编辑:程序博客网 时间:2024/06/09 21:00
统计一个数字在排序数组中出现的次数。
class Solution {public: int GetNumberOfK(vector<int> data ,int k) { int number=0; int start=0; int end=data.size()-1; if(data.size()!=0){ int first=GetFirstK(data,k,start,end); int last=GetLastK(data,k,start,end); if(first>-1&&last>-1) number=last-first+1; } return number; } int GetFirstK(vector<int> data ,int k,int start,int end){ if(start>end) return -1; int middleIndex=(start+end)/2; int middleData=data[middleIndex]; if(middleData==k){ if((middleIndex>0&&data[middleIndex-1]!=k)||middleIndex==0) return middleIndex; else end=middleIndex-1; } else if(middleData>k) end=middleIndex-1; else start=middleIndex+1; return GetFirstK(data,k,start,end); } int GetLastK(vector<int> data ,int k,int start,int end){ if(start>end) return -1; int middleIndex=(start+end)/2; int middleData=data[middleIndex]; if(middleData==k){ if((middleIndex<data.size()-1&&data[middleIndex+1]!=k)||middleIndex==data.size()-1) return middleIndex; else start=middleIndex+1; } else if(middleData<k) start=middleIndex+1; else end=middleIndex-1; return GetLastK(data,k,start,end); }};
0 0
- 【数组8】数字在排序数组中出现的次数
- 【数组4】数字在排序数组中出现的次数
- 数组9:数字在排序数组中出现的次数
- 数字在排序数组中出现的次数(数组)
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 统计一个数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字出现的次数
- 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 在排序数组中,找出给定数字的出现次数
- shell变量数学运算
- tableView 详细使用方法
- MFC-SetWindowPos-位图按钮-扩展对话框-更改Logo
- 读书笔记 -- 004_数据预处理_数据规范化
- 怎么在 Stack Overflow 里提问题的时候沾上自己的代码
- 数字在排序数组中出现的次数
- Mallet 安装配置
- 二叉树的深度
- leetcode -- Burst Balloons -- 重点dp
- Android菜鸟实训的第二天--视图容器组件Android中的布局的讲解。
- 设计页面布局
- POJ3087 Shuffle'm Up 简单模拟
- 48.复杂对象写入归档与反归档
- Android 让你一分钟打一千个渠道包,丢掉该死的打包工具!