leetcode 744.寻找比目标字母大的最小字母(Java 二分查找 easy)

https://leetcode-cn.com/problems/find-smallest-letter-greater-than-target/submissions/

 

class Solution {
    public char nextGreatestLetter(char[] letters, char target) {
        int n=letters.length;
        int l=0,h=n-1;
        while(l<=h){
            int mid=l+(h-l)/2;
            if(letters[mid]<=target){//因为是求大于target的最小值,所以此处是小于等于。
                l=mid+1;//小于等于的时候l=mid+1。
            }else{
                h=mid-1;
            }
        }
        return l<n ? letters[l] : letters[0];//如果target比序列里所有值都大,返回第一个。
    }
}

 

上一篇:《3D数学基础》2.1 矩阵基本概念、2.2 矩阵的数乘和加减法、2.3 方阵


下一篇:并发数据结构- 1.8 优先队列&1.9 总结