数字在排序数组中出现的次数
2017-08-20 16:13
141 查看
题目
统计一个数字在排序数组中出现的次数。思路
利用lower_bound和upper_bound找出下界和上界,然后减一下即可。也可以自己模拟lower_bound和upper_bound。
参考代码
class Solution { public: int GetNumberOfK(vector<int> data, int k) { int length = data.size(); if (!length || k < data[0] || k > data[length - 1]) return 0; int lower = lower_bound(data.begin(), data.end(), k) - data.begin(); int upper = upper_bound(data.begin(), data.end(), k) - data.begin(); if (data[lower] != k) return 0; else return upper - lower; } };
相关文章推荐
- 剑指offer: 38 数字在排序数组中出现的次数
- 《剑指offer》-数字在排序数组中出现的次数
- 剑指offer-38 统计一个数字在排序数组中出现的次数
- 数字在排序数组中出现的次数
- 【剑指Offer学习】【面试题38:数字在排序数组中出现的次数】
- 《剑指offer》-数字在排序数组中出现的次数
- 10、在排序数组中,找出给定数字出现的次数
- 剑指offer-面试题38-数字在排序数组中出现的次数
- 剑指offer38题(数字在排序数组中出现的次数)
- 剑指Offer 38 数字在排序数组中出现的次数
- 《剑指Offer》学习笔记--面试题38:数字在排序数组中出现的次数
- 统计一个数字在排序数组中出现的次数
- 面试题32:数字在排序数组中出现的次数
- 面试题38-数字在排序数组中出现的次数
- 在排序数组中,找出给定数字的出现次数 比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
- 【笔试】49、数字在排序数组中出现的次数
- 面试题38:数字在排序数组中出现的次数
- 剑指offer:数字在排序数组中出现的次数
- 剑指offer 面试题38 数字在排序数组中出现的次数
- 数字在排序数组中出现的次数