题解 | #数字在升序数组中出现的次数#

数字在升序数组中出现的次数

https://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2

class Solution {
public:

    int find(vector<int> res, float a){
        int head = 0 , tail = res.size() - 1;
        int mid = ( tail + head ) / 2;
        while(tail >= head){
            if(res[mid] > a) tail = mid - 1;
            if(res[mid] < a) head = mid + 1;
            mid = ( tail + head ) / 2;
        }
        return tail;  //这里返回头或者尾都行,不要分情况讨论,否则有些情况会差1
    }

    int GetNumberOfK(vector<int> data ,int k) {
        return find(data,k+0.5) - find(data,k-0.5);
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:06
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务