LeetCode题解(0744):寻找比目标字母大的最小字母(Python)

题目:原题链接(简单)

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O(logN)O(logN) O(1)O(1) 136ms (69.15%)
Ans 2 (Python) O(logN)O(logN) O(1)O(1) 136ms (69.15%)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一(二分查找):

def nextGreatestLetter(self, letters: List[str], target: str) -> str:
    if ord(letters[-1]) <= ord(target):
        return letters[0]
    left = 0
    right = len(letters) - 1
    while left < right:
        mid = (left + right) // 2
        if ord(letters[mid]) <= ord(target):
            left = mid + 1
        else:
            right = mid
    return letters[left]

解法二(二分查找):

def nextGreatestLetter(self, letters: List[str], target: str) -> str:
    left = 0
    right = len(letters) - 1
    while left <= right:
        mid = (left + right) // 2
        if ord(letters[mid]) <= ord(target):
            left = mid + 1
        else:
            right = mid - 1
    if left == len(letters):
        return letters[0]
    else:
        return letters[left]

热门文章

暂无图片
编程学习 ·

关于Error:java: Compilation failed: internal java compiler error的解决方案

文章目录事故现场分析解决方案最终结果 事故现场分析 使用Idea导入新项目或升级idea或新建项目时会出现以上异常信息,导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持 常规分析:看一下compile,原来真的是错在…
暂无图片
编程学习 ·

通过连接Mysql实现的简单的登录注册功能

注册,登录 以下为具体代码: public class JDBCUtils {private static String url;private static String user;private static String password;private static String driver;//读取文件,只需读取一次即可拿到这些值,使用静态代码块static {try {//创建Properties集合类Pr…
暂无图片
编程学习 ·

JS面试题

霖呆呆的近期面试128题汇总(含超详细答案) | 掘金技术征文 由浅入深,66条JavaScript面试知识点 2020 前端面试 | 第一波面试题总结 2020 前端面试 | 第二波面试题总结 window.onload和$(document).ready()区别 window.onload必须等到页面内的所有元素加载完毕后才能执行 所有元…
暂无图片
编程学习 ·

Python之list添加新元素

讲解 现在,班里有3名同学: >>> L = [Adam, Lisa, Bart]今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: >>> L = [Adam, Lisa, Bart] >>> L.append(P…
暂无图片
编程学习 ·

BIO、NIO、AIO基本概念

BIO 采用BIO通信模型的服务端,通常由一个独立的Acceptor线程负责监听客户端的连接,它接收到客户端连接请求之后为每个客户端创建一个新的线程进行链路处理,处理完成后,通过输出流返回应答给客户端,线程销毁。 BIO主要的问题在于每当有一个新的客户端请求接入时,服务端必须…
暂无图片
编程学习 ·

销售分析 II

题目描述:Table: Product+--------------+---------+ | Column Name | Type | +--------------+---------+ | product_id | int | | product_name | varchar | | unit_price | int | +--------------+---------+ product_id 是这张表的主键 Table: Sales+----…
暂无图片
编程学习 ·

云服务器与物理服务器哪一种更适合企业应用部署?

云服务器与物理服务器哪一种更适合企业应用部署呢? 全球企业早已意识到利用高端技术来提高工作效率并获得竞争优势。从目前的舆论方向来看,部分企业的转型主要围绕着如何将旧系统和应用迁移到“云”。而选用“云”的原因,是因为它的可伸缩性,高效率和高可用性。然而,有些人…
暂无图片
编程学习 ·

英语四六级必备软件

分享今天的软件的时候,突然想到了十几年前初中高中学英语的时候,那时候为了学会英语,让家人买过mp3,结果里面最后装的全部都是流行歌,还买过一个步步高学习机,结果最后这个学习机变成的游戏机,想想如果当初学习英语的有这个软件会怎么样今天分享的这个英语软件面向所有爱…
暂无图片
编程学习 ·

1084:幂的末尾 题解 信息学奥赛 NOIP

关于内容来源于微信公众号:大神编程。已经过原文作者授权。题目:1084:幂的末尾超详细动画图文题解链接题解目录(不断更新中)喜欢信息学奥赛的同学们,可以一起交流学习哦官方QQ群:893157498我的QQ群:795233394
暂无图片
编程学习 ·

数据库系统原理练习题(一)

一、【问题描述】 1、 已知三个域:男人={李基,张鹏},女人={任方,刘玉},子女={李键,张睿,张峰}。这一-组域(男人,女人,子女)的笛卡尔积的基数为 A.12 B.9 C.7 D.27 2、现有如下关系:患者(患者编号,患者姓名,性别,出生日期),医疗(患者编号,患者姓名,医生编号,医生姓名…
暂无图片
编程学习 ·

Kafka中位移提交那些事儿

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等之前我们说过,Consumer 端有个位移的概念,它和消息在分区中的位移不是一回事儿,虽然它们的英文都是 Offset。今天我们要聊的位移是 Consumer 的消费位移,它记录了Consumer 要消费的下一条消息的位移。这…
暂无图片
编程学习 ·

String类

String类的subString方法从指定位置截取到字符串结尾 substring (int beginIndex) :返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。 eg:str1.subString(5)//从第6个位置开始截取截取指定范围的内容 substring (int beginIndex, int endIndex) :返回一个子字符…
暂无图片
编程学习 ·

TCP/IP协议基础知识笔记

1.TCP/IP协议包括FTP、SMTP、TCP、UDP、IP五中协议 。 2.TCP/IP四层体系结构:应用层、传输层、网络层、数据链路层。 3.TCP传输层协议,IP 网络层协议。 4.链路层:数据包必须是从一块网卡传送到另一块网卡。而网卡地址就是数据包的发送地址和接收地址 5.IP地址与域名均是一一…
暂无图片
编程学习 ·

appium获取toast

环境准备:appium server 1.7版本 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.5.0下载appium-desktop-Setup-1.5.0-ia32.exe 并启动服务安装appium-uiautomator2-driver使用npm命令安装,npm如何安装自己百度。 npm install appium-uiautomator2-dri…
暂无图片
编程学习 ·

1、线程与进程区别

1、线程与进程区别(1)拥有资源进程是资源分配的基本单位,但是线程不拥有资源,线程可以访问隶属进程的资源。(2) 调度线程是是CPU调度和分派的基本单位;(3) 系统开销进程创建、撤销、上下文切换时的开销要大于线程
暂无图片
编程学习 ·

《MYSQL数据库》TCL语言和DCL语言

一、TCL语言的操作语法有时候我们的一个需求(一个任务),可能会涉及到多个DML(增删改)操作。那么这一系列操作, 我们要看成一个整体,不可切割。如在一个员工系统中,某员工A的数据可能会存在多个表中,如基本信息表,业务信息表,邮箱信息表等。当我们想删除此人的所有信息时,…
暂无图片
编程学习 ·

学术论文写作漫谈

超星尔雅学术论文写作漫谈章节测验答案1.1 高校学生学术论文写作现状1【单选题】根据调研结果显示,目前高校大一学生在论文写作方面的主要困难不包括()。 答案:不知写多少字A、不知如何选题B、不知如何查资料C、不知写多少字D、不知学术规范标准2【单选题】根据调研,学生认为写…