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

leetcode 二分查找·系统掌握 寻找比目标字母大的最小字母

题目:

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

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

题解:
本题就是非常经典的泛型二分~01~查找模型,但是需要注意,这样查找出来的可能是预期答案,第一个1,也可能是最后一个0(当查找范围全是0时),所以需要对结果特判一下。

char nextGreatestLetter(vector<char>& letters, char target) {int l=0,r=letters.size()-1;while(l<r){int mid=(l+r)>>1;if(letters[mid]>target)r=mid;else l=mid+1;}if(letters[l]>target)return letters[l];else return letters[0];}

相关文章:

  • 海思SS928/SD3403开发笔记1——使用串口调试开发板
  • PHP 命名空间
  • 基于Spring Boot+VUE职称评审管理系统
  • teamview的商业用途
  • Adobe XD是否收费?试试这几款超值的免费软件吧!
  • 本地运行大语言模型(LLMs)
  • Character Animator 2024 mac/win版:赋予角色生命,动画更传神
  • 北大oj Coins
  • 哈希表、哈希函数以及算法的时间复杂度和空间复杂度
  • tiaoshixitong
  • RTthread+STM32F407ZGTx+烟雾报警检测+蜂鸣器报警+LED闪烁||使用RTthread Studio
  • Linux安全:保护你的数字堡垒
  • 多功能投票系统(ThinkPHP+FastAdmin+Uniapp)
  • 什么牌子充电宝值得买?这几款充电宝好用到没话说!内行人推荐
  • c语言单元测试构建
  • 2017 年终总结 —— 在路上
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • CAP理论的例子讲解
  • Centos6.8 使用rpm安装mysql5.7
  • CODING 缺陷管理功能正式开始公测
  • emacs初体验
  • EOS是什么
  • js写一个简单的选项卡
  • python_bomb----数据类型总结
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Xmanager 远程桌面 CentOS 7
  • 给第三方使用接口的 URL 签名实现
  • 类orAPI - 收藏集 - 掘金
  • 区块链分支循环
  • 使用 QuickBI 搭建酷炫可视化分析
  • 微信小程序填坑清单
  • 一份游戏开发学习路线
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  •  一套莫尔斯电报听写、翻译系统
  • 在weex里面使用chart图表
  • puppet连载22:define用法
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​Redis 实现计数器和限速器的
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #FPGA(基础知识)
  • #includecmath
  • $.ajax中的eval及dataType
  • (7)STL算法之交换赋值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)【Hibernate总结系列】使用举例
  • (转)Windows2003安全设置/维护
  • *p++,*(p++),*++p,(*p)++区别?
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 读取 JSON格式的数据
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .py文件应该怎样打开?