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

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

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

就这样

/**
 * 
 * @param data int整型一维数组 
 * @param dataLen int data数组长度
 * @param k int整型 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int GetNumberOfK(int* data, int dataLen, int k ) {
    // write code here
    if(dataLen==0)
        return dataLen;
    int l=0,r=dataLen-1,m=(l+r)/2;
    YYY:
         m=(l+r)/2;
        if(data[m]==k)
            goto ZZZ;
        data[m]>k?(r=m-1):(l=m+1);
    if(l<r)
        goto YYY;
    ZZZ:
    if(l>=r&&dataLen!=1)
        return 0;
    l=0,r=m-1;
    VVV:
        if(data[m]==k)
            l+=1;
        else
            goto A;
        m++;
    goto VVV;
    A:
    C:
    if(data[r]==k)
        l+=1;
    else
        goto B;
    r-=1;
    goto C;
    B:
    return l;
}

秀了一波goto属于是

全部评论

相关推荐

11-03 14:38
重庆大学 Java
AAA求offer教程:我手都抬起来了又揣裤兜了
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务