二分查找---大于给定元素的最小元素

Posted yjxyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找---大于给定元素的最小元素相关的知识,希望对你有一定的参考价值。

大于给定元素的最小元素

744. Find Smallest Letter Greater Than Target (Easy)

Input:
letters = ["c", "f", "j"]
target = "d"
Output: "f"

Input:
letters = ["c", "f", "j"]
target = "k"
Output: "c"

题目描述:

??给定一个有序的字符数组letters和一个字符target,要求找出letters中大于target的最小字符,如果找不到就返回第一个字符。

思路分析:

??采用二分法进行查找。

代码:

public char nextGreatestLetter(char []letters,char target)
    if(letters==null||letters.length==0)
        return null;
    int len=letters.length;
    int l=0,h=n-1;
    while(l<=h)
        int mid=l+(h-l)/2;
        if(letters[mid]<=target)
            l=mid+1;
        else
            h=mid-1;
        
    
    return l<len?letters[l]:letters[0];

以上是关于二分查找---大于给定元素的最小元素的主要内容,如果未能解决你的问题,请参考以下文章

算法-二分查找2

Go-二分查找算法

Leetcode题解——算法思想之二分查找

再也不怕面试遇到二分查找了

二分查找来查找旋转数组

《图解算法》--二分查找选择排序递归