首页 > 其他分享 >744. 寻找比目标字母大的最小字母

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

时间:2024-09-09 21:05:05浏览次数:11  
标签:right letters target 字母 最小 str 744 left

题目链接 744. 寻找比目标字母大的最小字母
思路 二分法
题解链接 官方题解
关键点 循环不变量(开区间):letters[left] < target && letters[right] >= target
时间复杂度 \(O(\log n)\)
空间复杂度 \(O(1)\)

代码实现:

class Solution:
    def nextGreatestLetter(self, letters: List[str], target: str) -> str:
        if target < letters[-1]:
            left, right = -1, len(letters)
            target = chr(ord(target) + 1)
            while left + 1 < right:
                mid = (left+right) // 2
                if letters[mid] < target:
                    left = mid
                else:
                    right = mid
            return letters[right]
        return letters[0]
Python-库函数
class Solution:
    def nextGreatestLetter(self, letters: List[str], target: str) -> str:
        if target < letters[-1]:
            return letters[bisect_right(letters, target)]
        return letters[0]

标签:right,letters,target,字母,最小,str,744,left
From: https://www.cnblogs.com/WrRan/p/18405315

相关文章

  • 【算法笔记】Kruskal/Prim算法——求解最小生成树问题
    前言生活中经常遇到类似这种的问题:公路修建有一些城市,城市之间要修建高速公路,每两个城市之间都可以修双向的路。其中每两个城市之间修路都需要花费对应的金额。请问如何修路,使得总花费的金额最少,且任意两个城市之间都可以直接或间接通过修建的路来通行?实际上,我们可以把这种......
  • 最小二乘回归算法原理及Python实践
    最小二乘回归算法原理主要基于最小化误差平方和的思想,以找到数据的最佳函数匹配。以下是对其原理的详细阐述:一、基本原理最小二乘法(LeastSquaresMethod,简称LS)是一种数学优化技术,它通过最小化误差的平方和来寻找数据的最佳函数匹配。在回归分析中,最小二乘法被广泛应用于......
  • 偏最小二乘回归算法原理及Python实践
    偏最小二乘回归(PartialLeastSquaresRegression,PLS回归)是一种统计学和机器学习中的多元数据分析方法,特别适用于处理因变量和自变量之间存在多重共线性问题的情况。其原理主要可以归纳为以下几点:一.原理概述PLS回归通过投影分别将预测变量(自变量X)和观测变量(因变量Y)投......
  • Leetcode面试经典150题-76.最小覆盖子串
    解法都在代码里,不懂就留言或者私信理论上提交这个就是最优解classSolution{publicStringminWindow(Strings,Stringt){if(s.length()<t.length()){return"";}/**转成字符数组*/char[]sArr=s.toCharArr......
  • 为什么企业应当实施“最小权限原则”?
        在当今这个高度数字化的世界中,网络安全已经成为一个不可忽视的重要问题。随着技术的不断发展,网络攻击和数据泄露的风险也在不断增加。为了保护网络和数据的安全,许多安全原则和最佳实践被广泛采用,其中核心之一就是“最小权限原则”。    最小权限原则最早......
  • 逻辑表达式,最小项
    目录得到此图的逻辑电路1.画出它的真值表2.根据真值表写出逻辑式3.画逻辑图逻辑函数的表示逻辑表达式最小项定义基本性质最小项编号最小项表达式 得到此图的逻辑电路1.画出它的真值表这是同或的逻辑式。2.根据真值表写出逻辑式 3.画逻辑图 有两......
  • # 键盘字母上有下标数字,输入时怎么一键去掉,关闭键盘上的下标数字。‌
    键盘字母上有下标数字,输入时怎么一键去掉,关闭键盘上的下标数字。‌一、问题描述:如下图,有的笔记本电脑键盘上,没有数字小键盘,数字小键盘会和字母混和在一起,这样打字时,不容易转换,很烦人,一招搞定它。二、解决方法:可以通过关闭小键盘功能或调整输入法设置来实现1、关闭小键......
  • letcode 438 找到字符串中所有字母异位词
    ##给定两个字符串,找到s中所有p的yi子串,返回这些子串的起始索引。##不考虑答案输出的顺序。异位词指由相同字母重排列形成的字符串(包括相同的字符串)。输入s=“cbaebabacd”,p=“abc”输出【0,6】输入s=”abab“,p=“ab”classsloution:defcharyiwei(self,nums1,nums2):has......
  • 17_电话号码的字母组合
    17_电话号码的字母组合【问题描述】给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。示例一:输入:digits="23"输出:["ad","ae","af","bd","be","bf","cd","ce"......
  • 有效的字母异位词
    给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入:s="anagram",t="nagaram"输出:true示例2:输入:s="rat",t="car"输出:false解法1//将两个字符串转为字符数组后,排序并进行比较classSolution{publicbooleanisAnagram(St......