LeetCode算法题-Find Smallest Letter Greater Than Target(Java实现)

Code Composer Studio 8.3.1安装与常见问题解决指南 本文提供了Code Composer Studio 8.3.1版本的详细安装指南与常见问题解决方案。内容涵盖从下载离线安装包、系统环境准备、自定义安装步骤,到首次启动配置及汉化建议。重点解析了安装过程中可能遇到的闪退、卡顿、Java虚拟机错误等典型问题的排查与修复方法,旨在帮助开发者高效部署这一稳定的嵌入式集成开发环境。 阅读详情

这是悦乐书的第306次更新,第326篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第175题(顺位题号是744)。给定一个仅包含小写字母的有序字符数组,并给定目标字母目标,找到数组中大于给定目标字符的最小元素。例如,如果目标是target =‘z’并且letters = [‘a’,‘b’],则答案是’a’。例如:

输入:letters = [“c”,“f”,“j”],target =“a”

输出:“c”

输入:letters = [“c”,“f”,“j”],target =“c”

输出:“f”

输入:letters = [“c”,“f”,“j”],target =“d”

输出:“f”

输入:letters = [“c”,“f”,“j”],target =“g”

输出:“j”

输入:letters = [“c”,“f”,“j”],target =“j”

输出:“c”

输入:letters = [“c”,“f”,“j”],target =“k”

输出:“c”


注意:

  • 数组的长度范围为[2,10000]。

  • 数组中的字母由小写字母组成,并包含至少2个唯一字母。

  • target是一个小写字母。

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 第一种解法

根据题目的意思和给出的示例,如果数组中存在大于目标字母的最小元素,就返回该元素,不存在就返回数组第一个元素。因为数组是已经排过序的,可以直接使用循环来处理,从前往后依次比较,如果大于目标字母就返回当前元素,不存在就返回数组第一个元素。

public char nextGreatestLetter(char[] letters, char target) {
    for (int i=0; i<letters.length; i++) {
        if (letters[i] > target) {
            return letters[i];
        }
    }
    return letters[0];
}

03 第二种解法

我们也可以使用二分法来查找,定好起始点,每次取中间位置的元素来进行比对,如果中间位置元素大于目标字母,就将终点往左移到中间位置,反之要是中间位置元素小于等于目标字母,就将起点右移到中间位置的右一位。最后,如果起点已经移动到终点了,说明没有找到对应的元素,返回数组第一个元素即可,反之就返回起点所对应的元素。

public char nextGreatestLetter2(char[] letters, char target) {
    int start = 0, end = letters.length;
    while (start < end) {
        int mid = (end+start)/2;
        if (letters[mid] > target) {
            end = mid;
        } else {
            start = mid+1;
        }
    }
    return start == letters.length ? letters[0] : letters[start];
}

04 小结

算法专题目前已日更超过五个月,算法题文章175+篇,公众号对话框回复【数据结构与算法】、【算法】、【数据结构】中的任一关键词,获取系列文章合集。

以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

MCU-内部flash模拟成EepRom(重新梳理) 通过fee写数据Data的过程中,数据会mapping一个虚拟地址,这个虚拟地址就是你的身份,在向flash写数据的过程中会写入很多相同虚拟地址的不同数据,在读取或切页的过程中,遍历数据只会认为最下面第一个的虚拟地址所持有的数据是有效数据,其他的都是老数据,可以丢弃。模拟成eeprom的两个eep_page写数据逻辑就是,先在eep_page0写数据,eep_page0写满后,将eep_page0的有效数据copy到eep_page1,之后擦eep_page0; 阅读详情

相关推荐

Excel-MCP实战指南:零代码实现大模型与Excel的智能交互

本文详细介绍了Excel-MCP工具如何实现大模型与Excel的无缝交互,无需编写代码即可完成数据读写、图表生成等复杂操作。通过实战案例展示了Excel-MCP在销售报表自动化、财务对账等企业级场景中的应用,大幅提升工作效率。文章还提供了安装指南、核心功能解析和常见问题解决方案。

weixin_29212429的博客 434

LWC 62:744. Find Smallest Letter Greater Than Target

LWC 62:744. Find Smallest Letter Greater Than Target传送门:744. Find Smallest Letter Greater Than TargetProblem: Given a list of sorted characters letters containing only lowercase letters, and given a

Demon-初来驾到 1042

保姆级教程:在Windows上用Docker Desktop一键部署Dify 1.0.1(附国内镜像加速)

本文提供在Windows系统上使用Docker Desktop快速部署Dify 1.0.1的详细教程,包括环境准备、国内镜像加速配置、Dify容器部署实战及常见问题解决方案。特别针对国内用户优化,确保快速完成部署并提升开发效率。

weixin_33738555的博客 283

【LeetCode】744. Find Smallest Letter Greater Than Target 解题报告(Python)

【LeetCode】744. Find Smallest Letter Greater Than Target 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/find-smallest-letter-greater-than-target/description/ 题目描述: Given a list of s

负雪明烛 1543

prometheus 从入门到精通(史上最全)

Prometheus(由go语言开发)是一套开源的监控&报警&时间序列(按照时间排序)数据库的组合。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。它可以监控主机,服务,容器,支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。原文链接:https://blog.youkuaiyun.com/qq_45277554/article/details/130917620时间序列数据。

流水_鱼鱼的博客 1万+

大数据之数据抽取架构演变过程

而当时我们搭建的Flink集群是基于YARN进行资源管理和调度的,因为YARN中不仅仅包含着FLInk的资源,也有hive,zoozie,hdfs等等的资源,这样容易造成yarn资源的过度使用,容易引起整个底座的cpu以及内存的使用问题,经过排查,主要是由于FLink的使用资源引起的,所以后续就把Flink从整个集群中剥离出来,进行资源的隔离,最后Flink采用了StandAlone HA部署(但是这个目前还是存在问题,后续根据项目进行优化)'topic' = '表名',二、数据抽取架构的演变。

天道酬勤 868

744. Find Smallest Letter Greater Than Target

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target.Letters also wr

xdhc的博客 411

使用 R 的长短期记忆 (LSTM)

在 R 中实现 LSTM 网络涉及使用 TensorFlow 和 Keras 软件包,它们为构建和训练深度学习模型提供了一个用户友好的界面。这些步骤包括准备数据、定义 LSTM 架构、编译模型、在数据上训练模型、评估其性能以及进行预测。与传统的 RNN 不同,LSTM 网络由于其独特的架构,可以在长序列上维护信息。与传统的 RNN 不同,LSTM 网络由于其独特的架构,可以在长序列上维护信息。为了在 R 中实现 LSTM 网络,我们将使用 Keras 库,该库为构建和训练神经网络提供了高级接口。

jianqimingtian的博客 1583

LeetCode-Find Smallest Letter Greater Than Target

LeetCode Java Find Smallest Letter Greater Than Target

坟头草一米七五 281

Linux之SUSE系统SAP-HANA经常系统内存不足使得SAP应用不能使用解决方案

问题描述 Linux内存使用量超过阈值,使得sap应用程序无可用内存,最终导致程序崩溃。 问题原因 自己查阅了一些资料,也基于zabbix的可用内存和实际不太一样入手去找原因发现问题出现于Cached的值过大,导致系统没有可以再分配的内存空间。Cached只要用来缓存文件的,经常读写的文件会被缓存到Cached中,可以增加读写效率,该功能是Linux系统内核提供的,而SAP-HANA的日志文件很大...

liuxiangyang_的博客 6712

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 903

LeeCode Contest 62 Find Smallest Letter Greater Than Target

Weekly Contest 62 Find Smallest Letter Greater Than Target问题描述 Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element

yanqinghe123的专栏 359

自监督学习原理与代码实战案例讲解

自监督学习原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 自监督学习的起源与发展 1.1.1 监督学习的局限性

AI天才研究院 624

leetcode744: Find Smallest Letter Greater Than Target

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. Letters

sinat_35425429的博客 400

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

leetcode745: Find Smallest Letter Greater Than Target

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. Letter

sinat_35425429的博客 376

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Find Smallest Letter Greater than target -- 找到最小的字母稍微大过目标字母

在Leetcode上看到一道题目,觉得很有意思。就拿出来分享给大家。 题目: Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larg...

CHNMSCS 273

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LeetCode-744. Find Smallest Letter Greater Than Target

Description Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given targe...

zy2317878的博客 510

leetcode:(69)Find Smallest Letter Greater Than Target(java)

题目:      Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. L...

Sunshine_liang1的博客 409

LeetCode - easy-744. Find Smallest Letter Greater Than Target

问题 Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. Letters

再见二丁目 334

【Leetcode】744. Find Smallest Letter Greater Than Target

题目地址: https://leetcode.com/problems/find-smallest-letter-greater-than-target/ 给定一个长nnn的且只由英文小写字母构成的字符数组AAA,题目保证至少有两个不同的字符,再给定一个字符ttt,求大于ttt的最小字符。如果不存在,则返回全局最小字符。 代码如下: public class Solution { public char nextGreatestLetter(char[] letters, char target)

数学、算法爱好者的博客 280

leetcode744-Find Smallest Letter Greater Than Target

一旦看到要在排序数组里寻找某个元素一定要想到二分的思路,不同的是这道题目要找第一个比指定元素大的值,核心流程不变,只不过在二分的过程中判断是否比指定元素大的最小字符的时候可以多加一个条件判断即可。letters 里至少有两个不同的字符。返回 letters 中大于 target 的最小的字符。如果不存在这样的字符,则返回 letters 的第一个字符。输入: letters = [“c”, “f”, “j”],target = “a”解释:letters 中字典上比 ‘a’ 大的最小字符是 ‘c’。

我的程序人生 307

LeetCode 744. Find Smallest Letter Greater Than Target (寻找比目标字母大的最小字母)

题目标签:Binary Search   题目给了我们一组字母,让我们找出比 target 大的最小的那个字母。   利用 binary search,如果mid 比 target 小,或者等于,那么移到右半边;   如果 mid 比target 大,那么移到左半边,这里要包括mid,因为mid 可能是那个要找的字母。   这里还要检查一个可能,如果 target 是 z, 那么...

weixin_30823001的博客 150

Find Smallest Letter Greater Than Target(leetcode)

Find Smallest Letter Greater Than Target Given a list of sorted characters letters and given a target letter target, find the smallest element in the list that is larger than the given target.

Valerie的博客 431

leetcode 744. Find Smallest Letter Greater Than Target

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target.Letters also wr

JackZhangNJU的专栏 471

LeetCode 744. Find Smallest Letter Greater Than Target

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. Letters al

柳婼 の blog 486

744. Find Smallest Letter Greater Than Target(大于给定元素的最小元素)(leetcode)

Given a list of sorted characters letters containing only lowercase letters, and given a target letter target, find the smallest element in the list that is larger than the given target. Letters also...

weixin_33744141的博客 162
上一篇: LeetCode算法题-Flood Fill(Java实现)
下一篇: LeetCode算法题-Min Cost Climbing Stairs(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值