2021.12.28

安卓学习的进度慢了,,得加快点。 今天主要是注意点吧。 栈实现队列注意<=加进去。 重复数字的长度。 一个求得是第一个>目标数字的位置 一个求的是第一个<目标数字的位置 二者直接相减即可。

      public int GetNumberOfK(int [] array , int k) {
        int a=binsearch(array,k,true);
        int b=binsearch(array,k,false);
        return b-a;
    }
    public int binsearch(int[] array,int k,boolean b){
        int l=0,r=array.length-1;
        while (l<=r){
            int mid=(l+r)/2;
            if(array[mid]>k||(array[mid]>=k&&b)){
                r=mid-1;
            }else {
                l=mid+1;
            }
        }
        return l;
    }
}

判断入栈出栈序列主要是用一个栈来模拟 1.num1[i]!=num2[j] 入栈,i++ 2.num1[i]==num2[j] i++,j++. 之后判断栈顶和出栈序列相同出栈即可。其余判断不用做(小心越界,在循环时判断栈是否为空)。 3.重复1,2 4,判断栈是否为空,为空则返回true

全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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