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

网友投稿 628 2022-11-05

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

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

文章目录

​​Question​​​​Ideas​​​​Code​​

Question

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

给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = 'z' 并且字符列表为 letters = ['a', 'b'],则答案返回 'a' 示例 1:输入: letters = ["c", "f", "j"],target = "a"输出: "c"示例 2:输入: letters = ["c","f","j"], target = "c"输出: "f"示例 3:输入: letters = ["c","f","j"], target = "d"输出: "f" 提示:2 <= letters.length <= 104letters[i] 是一个小写字母letters 按非递减顺序排序letters 最少包含两个不同的字母target 是一个小写字母

Ideas

浅浅二分

Code

class Solution: def nextGreatestLetter(self, letters: List[str], target: str) -> str: # 二分 O(logN) l,r = 0,len(letters)-1 while l < r: mid = l + r >> 1 if letters[mid] > target: r = mid else: l = mid + 1 if letters[l] > target: return letters[l] return letters[0]

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:1012. 友好城市(LIS+排序)
下一篇:BFE:基于百度统一前端技术框架开源的七层流量接入系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~