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

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

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;
    }
}
全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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