在Python中找到大于目标的最小字母
假设我们有一个排序字符字母列表。它仅包含小写字母,现在我们有了目标字母t,我们必须在列表中找到大于给定目标的最小元素。
字母也环绕着。因此,如果目标是t ='z'并且字母= ['a','b'],则答案是'a'。
因此,如果输入类似于[“ c”,“ f”,“ j”],t ='a',则输出将为'c'。
为了解决这个问题,我们将遵循以下步骤-
l:= 0
r:=字母大小-1
当l <= r时
l:=中+ 1
r:= -1中
中:=(l + r)/ 2作为整数
如果字母[mid]>目标,则
除此以外,
返回字母[l mod字母大小]
让我们看下面的实现以更好地理解-
示例
class Solution:def nextGreatestLetter(self, letters, target):
l = 0
r = len(letters) - 1
while l <= r:
mid = (l + r)//2
if letters[mid] > target:
r = mid -1
else:
l = mid + 1
return letters[l % len(letters)]
ob = Solution()print(ob.nextGreatestLetter(["c", "f", "j"], "a"))
输入值
["c", "f", "j"], "a"
输出结果
c
以上是 在Python中找到大于目标的最小字母 的全部内容, 来源链接: utcz.com/z/321769.html