当前位置: 首页 > web >正文

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

题目

给你一个字符数组 letters,该数组按非递减顺序排序,以及一个字符 targetletters 里至少有两个不同的字符。

返回 letters 中大于 target 的最小的字符。如果不存在这样的字符返回 letters 的第一个字符。

思路:灵神 闭区间写法 >= > < <=转化,‘b’ = (char) ('a' + 1)   字符可以直接比较大小

代码

class Solution {public char nextGreatestLetter(char[] letters, char target) {int start = lowerBound(letters, (char) (target + 1));if (start < letters.length) {return letters[start];} else {return letters[0];}}private int lowerBound(char[] letters, char target) {int left = 0, right = letters.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (letters[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return left;}
}

性能

时间复杂度o(logn)

空间复杂度o(1)

http://www.xdnf.cn/news/14105.html

相关文章:

  • 【动手学深度学习】3.5. 图像分类数据集
  • 3D模型格式转换HOOPS Exchange与工程设计软件自带转换器对比分析
  • 力扣-322.零钱兑换
  • 最新四六级写作好词好句锦囊(持续更新中)
  • 【VS2022 配置 ACADOS环境】
  • Java集合 - ArrayList底层源码解析
  • 精益数据分析(102/126):SaaS用户流失率优化与OfficeDrop的转型启示
  • Trae国内版Builder模式VS Chat模式
  • 1.3、SDH光接口类型
  • powerShell调用cmd
  • Epigenetics ATAC-seq助力解析炎症性细胞因子IL-1刺激引起的动态染色质可及性变化
  • Marketing Agent实施成本全解析:价格构成、影响因素与技术选型建议
  • vector的用法
  • Web网页端即时通讯源码/IM聊天源码RainbowChat-Web
  • 一阶拟线性偏微分方程光滑解的存在性与最大初始振幅分析
  • Rocky Linux 9 系统安装配置图解教程并做简单配置
  • Node.js下载安装及环境配置教程
  • IEEE-745标准4字节16进制转浮点
  • 【VUE3】基于Vue3和Element Plus的递归组件实现多级导航栏
  • 社会应用融智学的人力资源模式:潜能开发评估;认知基建资产
  • 【为什么InnoDB用B+树?从存储结构到索引设计深度解析】
  • 车载以太网-switch
  • 无人机噪音处理模块技术分析
  • 前端面试八之map
  • NGINX SSL/TLS 预读模块解密 ngx_stream_ssl_preread_module 实战指南
  • 编译器基础概念
  • libcuckoo 介绍和使用指南
  • Spring源码本地编译并执行测试
  • 安卓手机解压软件推荐:高效处理各种压缩文件
  • 问答播放器(视频弹题)使用例子(代码)