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

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

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

使用双指针,一个左指针指向数组左端,一个右指针指向数组右端
左指针从左向右寻找目标值,右指针从右向左寻找目标值
情况1:数组中存在目标值
结果为:右指针下标-左指针下标+1
情况2:数组中不存在目标值
即左右指针互相越界 返回0

public class Solution {
    public int GetNumberOfK(int [] array , int k) {
        int i=0;
        int j=array.length-1;
        while(i<array.length && array[i]!=k) i++;
        while(j>=0 && array[j]!=k) j--;
        if(i>j) return 0;
        return j-i+1;
    }
}
全部评论

相关推荐

27届学院本誓死冲击...:自我评价和校园经历全删了,荣誉经历只留奖学金,项目也全得换都不如外卖
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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