力扣随机一题——所有元音按顺序排序的最长字符串

题目

1839. 所有元音按顺序排布的最长子字符串 - 力扣(LeetCode)

思路

利用滑动窗口的思想,对于每个窗口内的字符串都判断

  • 子字符串包含所有五个元音字母。
  • 子字符串中的元音字母按照字典序出现

用一个变量 maxLength 记录最长美丽子字符串的长度。

使用滑动窗口,遍历每个字符,并跟踪当前子字符串的元音字母是否满足字典序。

如果元音字母的顺序被打破,或者元音字母不满足条件(比如缺少某些元音),则重新开始。

更新 maxLength,并在找到符合条件的子字符串时更新其长度。

代码

java 复制代码
public int longestBeautifulSubstring(String word) {
        int max = 0;
        int sumChar = 0;
        int current = 0;
        for(int i=0;i<word.length();i++){
            if(i>0&&word.charAt(i)>=word.charAt(i-1)){
                current++;
                if(word.charAt(i)!=word.charAt(i-1)){
                    sumChar++;
                }
            }else{
                sumChar=1;
                current=1;
            }
            if(sumChar==5){
                max = Math.max(max,current);
            }
        }
        return max;
    }

结语

最近实习有点忙,都没时间刷题了💔

相关推荐
2401_88235152几秒前
Flutter for OpenHarmony 商城App实战 - 购物车实现
java·flutter·dubbo
Emilin Amy3 分钟前
【C++】【STL算法】那些STL算法替代的循环
开发语言·c++·算法·ros1/2
遇印记7 分钟前
蓝桥java求最大公约数
java·开发语言
ONExiaobaijs8 分钟前
【无标题】
java·开发语言·spring·maven·程序员创富
符哥200817 分钟前
Mybatis和Mybatis-plus区别
java·开发语言·mybatis
Hcoco_me18 分钟前
大模型面试题74:在使用GRPO训练LLM时,训练数据有什么要求?
人工智能·深度学习·算法·机器学习·chatgpt·机器人
天赐学c语言20 分钟前
1.16 - 二叉树的中序遍历 && 动态多态的实现原理
数据结构·c++·算法·leecode
lkbhua莱克瓦2424 分钟前
JavaWeb技术概述
java·javaweb·web
爬山算法26 分钟前
Hibernate(46) Hibernate的配置文件如何加载?
java·后端·hibernate
风景的人生27 分钟前
springboot项目用maven插件打包时候报错
java·spring boot·maven