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. 寻找比目标字母大的最小字母
⭐算法入门⭐《二分枚举》简单05 —— LeetCode 744. 寻找比目标字母大的最小字母