面试题38:数字在排序数字中出现的次数
来源:互联网 发布:python scope visiual 编辑:程序博客网 时间:2024/06/04 19:36
题目:统计一个数字在排序数组中出现的次数。
由于是排序数组,考虑二分查找的思想。时间复杂度O(lgn).
代码如下:
class Solution {public: int GetNumberOfK(vector<int> data ,int k) { return GetNumberOfK(data,0,data.size()-1,k); } int GetNumberOfK(vector<int>& data,int left,int right,int k) { if(left>right) return 0; if(left==right) { if(data[left]==k) return 1; else return 0; } int mid=(right+left)/2; if(data[mid]<k) return GetNumberOfK(data,mid+1,right,k); else if(data[mid]>k) return GetNumberOfK(data,left,mid,k); else return GetNumberOfK(data,left,mid-1,k)+GetNumberOfK(data,mid+1,right,k)+1; }};
0 0
- 【面试题】数字在排序数组中出现的次数
- 面试题38:数字在排序数字中出现的次数
- 面试题38:数字在排序数组中出现的次数
- [剑指offer][面试题38]数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指Offer:面试题38 数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指offer面试题38:数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指offer 面试题38—数字在排序数组中出现的次数
- 《剑指Offer》学习笔记--面试题38:数字在排序数组中出现的次数
- 【剑指Offer学习】【面试题38:数字在排序数组中出现的次数】
- 面试题38_数字在排序数组中出现的次数
- 剑指Offer面试题38(Java版):数字在排序数组中出现的次数
- 剑指offer-面试题38:数字在排序数组中出现的次数
- 剑指offer之面试题38数字在排序数组中出现的次数
- 剑指offer面试题38:数字在已排序数组中出现的次数
- 剑指offer面试题38:数字在排序数组中出现的次数
- ubuntu12.04更新源update不成功
- [JZSC2016]【NOIP2016提高组A组7.16】(A_Crazy_Czy命题) 总结
- hdu5700区间交
- Nginx配置示例和方法(虚拟主机)
- Hbase-0.98.6源码分析--负载均衡过程
- 面试题38:数字在排序数字中出现的次数
- android studio 通过新建Library module的方式来导入SDK
- matlab调用VS生成的DLL
- LinkedList 基本属性
- UVA-340 Master-Mind Hints
- 无法解析的外部符号 __imp__curl_easy_init
- 布局属性的设置
- Hibernate学习笔记(一)
- Java烧脑驴游(一)--开发环境配置