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

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

目录

  • 题目
  • 解法一
  • 解法二
  • 如何比较字符串
  • letters.back()
  • *upper_bound为什么要加*

题目

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

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

解法一

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

解法二

class Solution {
public:char nextGreatestLetter(vector<char> &letters, char target) {return target < letters.back() ? *upper_bound(letters.begin(), letters.end() - 1, target) : letters[0];}
};

如何比较字符串

直接大于小于号就可以

letters.back()

letters.back() 是 C++ 中 std::vector 的成员函数,用于返回容器中最后一个元素的引用。back() 函数没有参数,它直接返回最后一个元素,不会对容器进行修改。

upper_bound为什么要加

*upper_bound 是为了获取 upper_bound 函数返回的迭代器指向的元素的值。upper_bound 函数返回的是一个迭代器,指向第一个大于给定值的元素。

在这段代码中,* 是用于解引用迭代器的操作符。通过解引用操作符 *,我们可以获取迭代器指向的元素的值。

所以,*upper_bound(letters.begin(), letters.end() - 1, target) 表示获取 upper_bound 函数返回的迭代器指向的元素的值,即大于 target 的最小元素。

在这个特定的代码片段中,return 语句将返回大于 target 的最小元素作为函数的返回值。
用于获取解析的元素值返回

http://www.lryc.cn/news/473812.html

相关文章:

  • 浅谈QT中Tab键的切换逻辑
  • 基于MoviNet检测视频中危险暴力行为
  • 《等保测评:抵御网络威胁的盾牌》
  • 前端必知必会-JavaScript 对象属性
  • 双11都有什么值得入手的好物?双十一最建议买的5样东西
  • Xcode 15.4 运行flutter项目,看不到报错信息详情?
  • AMD开始为基于RDNA的GPU开发自己的神经超采样和去噪技术
  • Python中的文件I/O操作
  • .net framework 3.5sp1开启错误进度条不动如何解决
  • 什么影响网站的SEO排名
  • css绘制s型(grid)
  • 【华为HCIP实战课程二十八】中间到中间系统协议IS-IS邻居关系排错,网络工程师
  • Word首行空格不显示空格符号问题
  • vue+element上传图片
  • 用ChatGPT提升工作效率:从理论到实际应用
  • 8、Node.js Express框架
  • STM32F103C8T6学习笔记3--按键控制LED灯
  • Unity3D Shader实现法线贴图功能详解
  • 【含开题报告+文档+源码】基于SpringBoot+Vue的校园设备报修系统
  • 电赛入门之软件stm32keil+cubemx
  • STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
  • Docker命令备忘录----Linux运维
  • Golang new() make var []int 使用的具体区别
  • 【Linux驱动开发】多线程调用驱动时的并发与竞争(原子操作、自旋锁、信号量、互斥锁)
  • qt QComboBox详解
  • redis做缓存,mysql的数据怎么与redis进行同步(双写一致性)
  • WPF触发器
  • 反序列化漏洞的运行原理及防御方法
  • 护眼大路灯哪个牌子好?口碑最好的护眼灯品牌​​
  • Redis 初学者指南