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

全部评论

相关推荐

自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务