算法创作|寻找比目标字母大的最小字母问题解决方法

简介: 算法创作|寻找比目标字母大的最小字母问题解决方法

问题描述

给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。

举个例子:如果目标字母 target = 'z' 并且字符列表为 letters = ['a', 'b'],则答案返回 'a'

来源:力扣(LeetCode

输入:letters =["c", "f", "j"]

输出:"f"


解决方案

将letters遍历一遍,如果有元素大于target,则返回第一个大于target的元素,如果letters中没有大于target的元素,则返回第一个元素。

代码清单

def  Than(letters,target):
    for i in letters:
        if i > target:
            return i
    return letters[0]   # 如果未找到比target大的则返回第一个元素
letters = ["c", "f", "j","a"]
# letters.sort()    #如果给出的letters不是按顺序

target  = "z"

print(Than(letters,target))

 

 

 

 

运行此代码:


结语

此题难度不大,最关键的就是遍历和循环,循环可以让我们的代码变得更方便,更简单。解出此题的方法也有很多种,我们可以学习其中的思路,写出更好的代码。

目录
相关文章
|
1月前
|
算法 测试技术 C++
【动态规划】【数学】【C++算法】1449. 数位成本和为目标值的最大数字
【动态规划】【数学】【C++算法】1449. 数位成本和为目标值的最大数字
|
1月前
|
机器学习/深度学习 监控 算法
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)
225 1
|
2天前
|
算法 Java
Java数据结构与算法:冲突解决方法
Java数据结构与算法:冲突解决方法
|
2天前
|
算法 调度
【完全复现】基于改进粒子群算法的微电网多目标优化调度
该文档描述了一个使用改进粒子群算法实现的微电网多目标优化调度的Matlab程序。该模型旨在最小化运行成本和环境保护成本,将多目标问题通过权值转换为单目标问题解决。程序中定义了决策变量,如柴油发电机、微型燃气轮机、联络线和储能的输出,并使用全局变量处理电负荷、风力和光伏功率等数据。算法参数包括最大迭代次数和种群大小。代码调用了`PSOFUN`函数来执行优化计算,并展示了优化结果的图表。
|
1月前
|
算法
【优选算法】——Leetcode——LCR 179. 查找总价格为目标值的两个商品
【优选算法】——Leetcode——LCR 179. 查找总价格为目标值的两个商品
|
15天前
|
算法
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成
|
15天前
|
算法
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
【经典LeetCode算法题目专栏分类】【第8期】滑动窗口:最小覆盖子串、字符串排列、找所有字母异位词、 最长无重复子串
|
23天前
|
存储 算法 Java
【经典算法】LeetCode 1170:比较字符串最小字母出现频次(Java/C/Python3实现含注释说明,中等)
【经典算法】LeetCode 1170:比较字符串最小字母出现频次(Java/C/Python3实现含注释说明,中等)
16 0
|
1月前
|
算法 调度
基于多目标粒子群算法的微电网优化调度-王金全
基于多目标粒子群算法的微电网优化调度-王金全
|
1月前
|
算法 SoC
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)