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

Rust 力扣 - 1456. 定长子串中元音的最大数目

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题解链接

题目描述

在这里插入图片描述

题解思路

我们遍历长度为k的窗口,我们只需要记录窗口内的元音字母数量即可,遍历过程中刷新最大数目

题解代码

impl Solution {
    pub fn max_vowels(s: String, k: i32) -> i32 {
        let s = s.as_bytes();
        let k = k as usize;

        let mut count = 0;

        fn is_vowel(c: u8) -> bool {
            c == b'a' || c == b'e' || c == b'i' || c == b'o' || c == b'u'
        }

		// 填满长度为k的窗口
        for i in 0..k {
            if is_vowel(s[i]) {
                count += 1;
            }
        }

        let mut ans = count;

        for i in k..s.len() {
        	// 加入窗口
            if is_vowel(s[i]) {
                count += 1;
            }

			// 移出窗口
            if is_vowel(s[i - k]) {
                count -= 1;
            }

            ans = ans.max(count);
        }

        ans
    }
}

题解链接

https://leetcode.cn/problems/maximum-number-of-vowels-in-a-substring-of-given-length/description/


http://www.kler.cn/a/374454.html

相关文章:

  • Docker--宿主机执行docker容器的命令
  • Idea导入Springboot项目,无法正确加载yml文件,且不为绿色图标的解决办法
  • webrtc学习----前端推流拉流,局域网socket版,一对多
  • C++23新特性解析:[[assume]]属性
  • 【文档搜索引擎】搜索模块的完整实现
  • 广州大学计算机组成原理课程设计
  • 新品上市!让核酸酶质量和残留控制像测定蛋白浓度一样简单
  • C++20 时间转本地时间,时间转字符串以及字符串转时间的方法
  • 如何在Linux系统中使用Apache HTTP Server
  • 【测试工具篇一】全网最强保姆级教程抓包工具Fiddler(1)
  • Kaggle “Reducing Commercial Aviation Fatalities” 比赛 生理数据分析
  • [Web安全 网络安全]-提权、开发、对抗
  • 鸿蒙网络编程系列42-仓颉版域名解析示例
  • 【计算机科学】快速幂:指数运算的分治之美
  • 深度学习:Softmax 函数详解
  • C++基于opencv的视频质量检测--遮挡检测
  • pytest高版本兼容test_data[“log“] = _handle_ansi(“\n“.join(logs))错误
  • 安装Docker环境的两种方式
  • 反序列化漏洞的运行原理及防御方法
  • Halcon-模板匹配(WPF)
  • 【Linux系统编程】第四十弹---深入理解操作系统:信号捕捉、可重入函数、volatile关键字与SIGCHLD信号解析
  • 从Flux Dev蒸馏出来的模型——Flux.1 Lite
  • rom定制系列------红米note8_miui14安卓13定制修改固件 带面具root权限 刷写以及界面预览
  • 灵动AI视频 —— 创意无界,视频新生
  • Qt限制QGraphicsScene QGraphicsItem内部的移动范围
  • mac 使用命令卸载Node.js