[Leetcode][python]Find Smallest Letter Greater Than Target寻找比目标字母大的最小字母

xiaoxiao2021-02-28  36

题目大意

给定一个有序的字符数组 letters 和一个字符 target,要求找出 letters 中大于 target 的最小字符。letters 字符数组是循环数组。

解题思路

二分查找变种: 应该注意最后返回的是 l 位置的字符。

代码

class Solution(object): def nextGreatestLetter(self, letters, target): """ :type letters: List[str] :type target: str :rtype: str """ l = 0 r = len(letters) - 1 while l <= r: m = l + (r - l) / 2 if letters[m] <= target: l = m + 1 else: r = m - 1 if l < len(letters): return letters[l] else: return letters[0]

总结

后端技术漫谈 认证博客专家 分布式 Linux Java 我是一名后端开发工程师。主要关注后端开发,数据安全,爬虫,物联网,边缘计算等方向,欢迎交流。各大平台都可以找到我:- 微信公众号:后端技术漫谈- Github:@qqxx6661- :@蛮三刀把刀- 知乎:@后端技术漫谈- 简书:@蛮三刀把刀- 掘金:@蛮三刀把刀- 腾讯云+社区:@后端技术漫谈原创文章主要内容:- 后端开发- Java面试- 设计模式/数据结构/算法题解- 爬虫/边缘计算/物联网- 读书笔记/逸闻趣事/程序人生
转载请注明原文地址: https://www.6miu.com/read-2623028.html

最新回复(0)