题目

给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。
在比较时,字母是依序循环出现的。举个例子:
如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’
示例:
输入:
letters = [“c”, “f”, “j”]
target = “a”
输出: “c”
输入:
letters = [“c”, “f”, “j”]
target = “c”
输出: “f”
输入:
letters = [“c”, “f”, “j”]
target = “d”
输出: “f”
输入:
letters = [“c”, “f”, “j”]
target = “g”
输出: “j”
输入:
letters = [“c”, “f”, “j”]
target = “j”
输出: “c”
输入:
letters = [“c”, “f”, “j”]
target = “k”
输出: “c”
提示:
letters长度范围在[2, 10000]区间内。
letters 仅由小写字母组成,最少包含两个不同的字母。
目标字母target 是一个小写字母。
来源:力扣(LeetCode)

解题思路

  题目给出的列表已经有序,想要查找一个元素 二分查找是一个不错的选择,另外需要注意的是这里的有一些特殊情况需要处理,即当目标元素大于等于列表最后一个元素时。

class Solution(object):def nextGreatestLetter(self, letters, target):if target>=letters[-1]:return letters[0]low=0high=len(letters)-1while low<high:mid=(low+high)//2if letters[mid]<=target:low=mid+1else:high=midreturn letters[low]

LeetCode简单题之寻找比目标字母大的最小字母相关推荐

  1. LeetCode每日一题:744. 寻找比目标字母大的最小字母

    744. 寻找比目标字母大的最小字母 线性或者二分查找,但是数据范围很小,差别不大 class Solution {public:char nextGreatestLetter(vector<c ...

  2. LeetCode题解:寻找比目标字母大的最小字母

    寻找比目标字母大的最小字母 一.题目 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母.另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母. 在比较时 ...

  3. java寻找最大的字母_【LeetCode(Java) - 744】寻找比目标字母大的最小字母

    [LeetCode(Java) - 744]寻找比目标字母大的最小字母 [LeetCode(Java) - 744]寻找比目标字母大的最小字母 文章目录 1.题目描述 2.解题思路 3.解题代码 1. ...

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

    1. 题目 给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 数组里字母的顺序是循环的.举个例子,如果目标字母target = ' ...

  5. C#LeetCode刷题之#744-寻找比目标字母大的最小字母(Find Smallest Letter Greater Than Target)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4001 访问. 给定一个只包含小写字母的有序数组letters 和 ...

  6. Java实现 LeetCode 744 寻找比目标字母大的最小字母(二分法)

    744. 寻找比目标字母大的最小字母 给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 在比较时,数组里字母的是循环有序的.举个例 ...

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

    给你一个排序后的字符列表 letters ,列表中只包含小写英文字母.另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母. 在比较时,字母是依序循环出现的.举个例子: 如 ...

  8. Leetcode744.Find Smallest Letter Greater Than Target寻找比目标字母大的最小字母

    给定一个只包含小写字母的有序数组letters 和一个目标字母 target,寻找有序数组里面比目标字母大的最小字母. 数组里字母的顺序是循环的.举个例子,如果目标字母target = 'z' 并且有 ...

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

    6 寻找比目标字母大的最小字母 作者: Turbo时间限制: 1S章节: 课程设计 问题描述 : 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母.另给出一个目标字母 target ...

最新文章

  1. spark 序列化错误 集群提交时_【问题解决】本地提交任务到Spark集群报错:Initial job has not accepted any resources...
  2. 阿里又要发布一个逆天的开源框架了!
  3. Hyper-v Server重复数据删除技术
  4. Python学习之路1 - 基础入门
  5. java 读取oracle的blob/clob
  6. [转]蓝牙基带数据传输机理分析
  7. 主成分分析中特征值分解与SVD(奇异值分解)的比较及其相关R语言的实现
  8. git托管怎么使用_使用Git构建和托管网站
  9. 阿里云上线镜像平台 小白用户轻松上云
  10. 斯坦福机器学习课程 Exercise 习题三
  11. Halcon11相对于Halcon10改动
  12. TensorFlow 中 tf.app.flags.FLAGS 的用法介绍
  13. oracle无网安装报错ins,安装Oracle数据库时的报错处理[INS-35172]
  14. 某国产下载神器又出事了:前 CEO 已被公安局立案侦查!
  15. linux pt远程下载,Linux中使用Transmission下载BT/PT[zz]
  16. dns服务器哪个稳定,几个非常好用的DNS服务器(解决电信DNS此劫问题) - 电脑技术,dns,ricky,...
  17. Windows版bitcoin客户端编译
  18. linuxcentos6笔记
  19. 陀螺仪的简单介绍讲解
  20. vivo联手京东,打通线上线下营销生态

热门文章

  1. Docker容器的备份与恢复,Docker镜像的备份与恢复
  2. Python gRPC 安装
  3. linux中去掉^M的方法
  4. 107. Binary Tree Level Order Traversal II
  5. python读取xml文件报错ValueError: multi-byte encodings are not supported
  6. 正则表达式中的\.表示什么意思
  7. Centos7上安装docker 详细教程
  8. Redis缓存穿透击穿雪崩
  9. 王道考研 计算机网络笔记 第三章:数据链路层
  10. 机器学习PAL基本概念