java数据结构与算法刷题-----LeetCode744. 寻找比目标字母大的最小字母

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846

文章目录

    • 二分查找

在这里插入图片描述

二分查找

解题思路:时间复杂度O( l o g 2 n log_2n log2n),空间复杂度O( 1 1 1)
  1. 二分查找,如果当前mid字符<=target,则left = mid+1,也就是去mid右边找,因为我们要找一个比target大的字符
  2. 当我们mid>target,则right = mid。也就是去mid左边找,试图找一个更小的符合条件的。因为我们要找一个字符,不光比target大,还要是所有比target大的字符中最小的
代码

在这里插入图片描述

class Solution {public char nextGreatestLetter(char[] letters, char target) {int n = letters.length;int left = 0,right = n-1;//左右边界if(target >= letters[right]) return letters[0];//根据题意,如果不存在比target大的字符,返回letters[0]int mid = 0;//二分查找while(left<right){mid = left + (right - left)/2;//如果当前mid比target小或相等,得去mid右边找,因为我们要找比target大的if(letters[mid]<=target) left = mid+1;//如果mid比target大,去左边找,因为我们要找比target大,但是大的里面,挑一个最小的else right = mid;}return letters[left];//返回找到的比target大的区间中,最小的哪个left}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

说说webpack proxy工作原理?为什么能解决跨域?

文章目录 一、是什么二、工作原理三、跨域参考文献 一、是什么 webpack proxy&#xff0c;即webpack提供的代理服务 基本行为就是接收客户端发送的请求后转发给其他服务器 其目的是为了便于开发者在开发模式下解决跨域问题&#xff08;浏览器安全策略限制&#xff09; 想要…

电路仿真软件大比拼:哪款更适合你?

以下是关于市面上常见的四款电路仿真软件的整体介绍&#xff1a; 1. Multisim&#xff08;美国&#xff0c;美国国家仪器&#xff08;NI&#xff09;有限公司&#xff09; 特点与优势&#xff1a; 直观的图形界面&#xff1a;提供用户友好的界面&#xff0c;便于快速搭建和修…

机器学习的分类——无监督学习(Unsupervised Learning)

无监督学习&#xff08;Unsupervised Learning&#xff09;是机器学习中的一种重要分类&#xff0c;它与监督学习的主要区别在于训练数据没有标签。无监督学习的目的是探索数据本身的结构和模式&#xff0c;而不是预测或分类具体的输出。这种学习方式对于发现数据中的隐藏模式和…

Openstack创建和操作实例,实现与外部网络通信

一、熟悉OpenStack图形界面操作 1、了解Horizon项目 Horizon项目 各OpenStack服务的图形界面都是由Horizon提供的。Horizon提供基于Web的模块化用户界面。Horizon为云管理员提供一个整体的视图。Horizon为终端用户提供一个自主服务的门户。Horizon由云管理员进行管理与控制&a…

SQL函数操作——3、数据统计综合应用

任务描述 本关任务&#xff1a; 灵活使用分组操作和聚集函数解决比较复杂的数据统计问题 本关使用的关系说明&#xff1a; product(maker,model,type) maker:表示生产厂商 model&#xff1a;生产的产品型号 type&#xff1a;产品类型&#xff0c;有pc laptop两种 pc(model…

面试题解析:bind,call,apply的区别(2)

在面试的过程中&#xff0c;面试官很有可能会问到我们有关this的相关内容。那么关于this我们都知道在 JavaScript 中&#xff0c;this 是一个特殊关键字&#xff0c;它指向当前函数执行时的上下文对象。 this 的值取决于函数被调用的方式: 全局上下文中的 this&#xff1a; 当…

语音陪玩交友软件系统程序-app小程序H5三端源码交付,支持二开!

电竞行业的发展带动其周边产业的发展&#xff0c;绘制着游戏人物图画的抱枕、鼠标垫、海报销量极大&#xff0c;电竞游戏直播、游戏教程短视频也备受人们喜爱&#xff0c;自然&#xff0c;像游戏陪练、代练行业也随之生长起来&#xff0c;本文就来讲讲&#xff0c;从软件开发角…

【字节二面】SpringBoot可以同时处理多少请求

目录 一、示例代码二、那么springboot可以处理多少请求&#xff1f;三、maxConnections、maxThreads、acceptCount的关系 一、示例代码 RestController Slf4j public class RequestController {GetMapping("/test")public String test(HttpServletRequest request) …

mysql_数据_增删改查

DML&#xff08;数据操作语言&#xff09; 添加数据 指定字段&#xff1a;INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); 全部字段&#xff1a;INSERT INTO 表名 VALUES (值1, 值2, ...); 批量添加数据&#xff1a;INSERT INTO 表名 (字段名1, 字段名2…

vscode ai插件“通义灵码”

文章目录 vscode ai插件“通义灵码”为什么安装&#xff1f;官网主要功能 vscode ai插件“通义灵码” 为什么安装&#xff1f; 通义灵码&#xff0c;是阿里云出品的一款基于通义大模型的智能编码辅助工具&#xff0c;提供行级/函数级实时续写、自然语言生成代码、单元测试生成…

腾讯放大招了!AniPortrait开源上线!音频驱动逼真人像动画合成!人人都是歌手!

文章链接&#xff1a;https://arxiv.org/pdf/2403.17694 github链接&#xff1a;https://github.com/Zejun-Yang/AniPortrait 本文提出了AniPortrait&#xff0c;一个新颖的框架&#xff0c;用于生成由音频和参考肖像驱动的高质量动画。方法分为两个阶段。首先&#xff0c;从音…

linux i2c-tools使用总结

1,安装iic-tools sudo apt install i2c-tools -y 2,查看有几条iic总线 [root@sino-platform:/root]# ls /dev/i2c- i2c-0 i2c-1 i2c-2 i2c-3 3,查看i2c命令 [root@sino-platform:/root]# i2c i2cdetect i2cdump i2cget i2cset 4,iic-help命令 [root@sino-platform…

P1093 [NOIP2007 普及组] 奖学金 Python 列表中的字典元素

[NOIP2007 普及组] 奖学金 题目背景 NOIP2007 普及组 T1 题目描述 某小学最近得到了一笔赞助&#xff0c;打算拿出其中一部分为学习成绩优秀的前 5 5 5 名学生发奖学金。期末&#xff0c;每个学生都有 3 3 3 门课的成绩&#xff1a;语文、数学、英语。先按总分从高到低排…

【vue3学习笔记(二)】(第141-143节)初识setup;ref函数_处理基本类型;ref函数_处理对象类型

尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 本篇内容对应课程第141-143节 课程 P141节 《初识setup》笔记 1、setup是所有组合式API“表演的舞台”&#xff0c;组件中所用到的所有数据、方法、监视数据、生命周期钩子等都需要配置在setup中。 2、setup的两种返回值&…

深入解析Oracle数据库ORA-01427错误:单行子查询返回多行的问题与解决办法

深入解析Oracle数据库ORA-01427错误&#xff1a;单行子查询返回多行的问题与解决办法 1、引言2、错误描述3、常见场景与示例4、解决方案5、声明 1、引言 在Oracle数据库日常运维与开发过程中&#xff0c;经常会遇到ORA-01427错误&#xff0c;这是一个很典型的数据库错误提示&am…

maya 导入导出anim脚本

目录 maya导入anim文件 测试ok maya导入anim文件,mel命令 maya导出anim文件 mel脚本 测试ok maya导出anim文件 python脚本 测试ok

Go语言介绍以及如何在Go语言中操作MySQL数据库

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

「Nginx」Nginx配置详解

「Nginx」Nginx配置详解 参考文章1、正向代理和方向代理2、指定域名允许跨域 参考文章 1、Nginx反向代理 2、nginx配置详解 3、Nginx服务器之负载均衡策略&#xff08;6种&#xff09; 1、正向代理和方向代理 2、指定域名允许跨域 map $http_origin $allow_cors {default 1;…

uniApp使用XR-Frame创建3D场景(6)播放模型动画

上篇文章讲述了如何将XR-Frame作为子组件集成到uniApp中使用 这篇我们讲解播放模型动画 先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"> <xr-node visible"{{sec6}}"><xr-light type"ambient&qu…

【Qt学习】了解Qt文件系统 + 利用QFile类实现记事本功能

文章目录 1. 前言 - 关于Qt文件1.1 QIODevice 介绍1.2 QFile 介绍1.2 打开文件的方式 2. 实例 - 记事本功能2.1 功能实现2.2 getOpenFileName() 与 getSaveFileName() 的区别2.3 效果演示 3. 资源文件 1. 前言 - 关于Qt文件 文件操作 是应⽤程序必不可少的部分&#xff0c;Qt作…