744. 寻找比目标字母大的最小字母

Posted panweiwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了744. 寻找比目标字母大的最小字母相关的知识,希望对你有一定的参考价值。

技术图片
技术图片
技术图片
技术图片
技术图片

思路:二分法。

class Solution(object):
    def nextGreatestLetter(self, letters, target):
        letters = list(set(letters))
        letters.sort()
        if target in letters:
            index = letters.index(target)
            if index < len(letters) - 1:
                return letters[(index % len(letters)) + 1]
            if index == len(letters) - 1:
                return letters[(index + 1) % len(letters)]
        l, r = 0, len(letters) - 1
        while l < r:
            mid = int(l + (r - l) / 2)
            if letters[mid] > target:
                r = mid
            else:
                l = mid + 1
        if l == len(letters) - 1 and letters[-1] < target:
            return letters[(l + 1) % len(letters)]
        else:
            return letters[l % len(letters)]





以上是关于744. 寻找比目标字母大的最小字母的主要内容,如果未能解决你的问题,请参考以下文章

「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母

744. 寻找比目标字母大的最小字母

744. 寻找比目标字母大的最小字母

⭐算法入门⭐《二分枚举》简单05 —— LeetCode 744. 寻找比目标字母大的最小字母

「 每日一练,快乐水题 」744. 寻找比目标字母大的最小字母

Python描述 LeetCode 744. 寻找比目标字母大的最小字母