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

1456. 定长子串中元音的最大数目-前缀和算法应用

1456. 定长子串中元音的最大数目

给你字符串 s 和整数 k 。

请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。

英文中的 元音字母 为(a, e, i, o, u)。

示例 1:

输入:s = “abciiidef”, k = 3
输出:3
解释:子字符串 “iii” 包含 3 个元音字母。

示例 2:

输入:s = “aeiou”, k = 2
输出:2
解释:任意长度为 2 的子字符串都包含 2 个元音字母。

示例 3:

输入:s = “leetcode”, k = 3
输出:2
解释:“lee”、“eet” 和 “ode” 都包含 2 个元音字母。

示例 4:

输入:s = “rhythms”, k = 4
输出:0
解释:字符串 s 中不含任何元音字母。

示例 5:

输入:s = “tryhard”, k = 4
输出:1

这一题,应该是统计每个下标的数据之前所有的元音字母,然后按K为间隔统计就可以了,解题代码如下:

int maxVowels(char * s, int k){
    int maxlength=0;
    char r[5]={'a','e','i','o','u'};
    int count_pre[strlen(s)];
    int count=0;
    int j;

      for(  j=0;j<5;j++){
            if(r[j]==s[0]){
                count++;
                break;
            }

        }
        if(j==5){
            count_pre[0]=0;
        }
        else{
              count_pre[0]=1;

        }
    for(int i=1;s[i]!='\0';i++){
     int j;
        for( j=0;j<5;j++){
            if(r[j]==s[i]){
               
                break;
            }

        }
        
        if(j==5){
            count_pre[i]=count_pre[i-1];
        }
        else{
            count_pre[i]=count_pre[i-1]+1;
            
        }


    }
    
     for(int i=k-1;s[i]!='\0';i++){
         
         if(i==k-1){
             maxlength=fmax(maxlength,count_pre[i]);
             continue;

         }
         
         maxlength=fmax(maxlength,count_pre[i]-count_pre[i-k]);
     }

if(maxlength>=k){
    return k;
}
return maxlength;
}

相关文章:

  • Spartan Labs研报:基础SBT以及隐私性SBT的实现
  • 【英语:基础进阶_语法进阶提升】F7.非谓语动词
  • jenkins教程
  • 《Java并发编程的艺术》——Java并发的前置知识(笔记)
  • 解决vs2022运行控制台项目提示:不知道如何运行名为xxxx和命令为Project的配置文件
  • 【SpringBoot2】02-SpringBoot中如何修改依赖的版本
  • Java Byte byteValue()方法的功能说明
  • 解决本地项目连接虚拟机redis进程失败【Failed connecting to host 6379】
  • EWM /SCWM/CL_DLV_MANAGEMENT_PRD 类的QUERY方法查找 outbound delivery status
  • 动作捕捉系统在仿生足式/多足机器人中的应用
  • SpringBoot整合Spring Security
  • jsp药品销售管理系统myeclipse开发sql数据库BS模式java编程网页结构
  • 银行卡四要素检测 易语言代码
  • 欧洲能源危机,这些企业将出现爆单情况
  • 我是怎么劝退打算入行软件测试的同学的?
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【剑指offer】让抽象问题具体化
  • HTML-表单
  • Markdown 语法简单说明
  • PHP 小技巧
  • php面试题 汇集2
  • supervisor 永不挂掉的进程 安装以及使用
  • XForms - 更强大的Form
  • yii2权限控制rbac之rule详细讲解
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 微信小程序开发问题汇总
  • 我看到的前端
  • Java总结 - String - 这篇请使劲喷我
  • 我们雇佣了一只大猴子...
  • ​第20课 在Android Native开发中加入新的C++类
  • # include “ “ 和 # include < >两者的区别
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (07)Hive——窗口函数详解
  • (1)(1.13) SiK无线电高级配置(五)
  • (1)bark-ml
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (论文阅读30/100)Convolutional Pose Machines
  • (算法)N皇后问题
  • (转)C#调用WebService 基础
  • *上位机的定义
  • .Net IOC框架入门之一 Unity
  • .Net MVC + EF搭建学生管理系统
  • .NET/C# 的字符串暂存池
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .net专家(高海东的专栏)
  • .skip() 和 .only() 的使用
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [20150707]外部表与rowid.txt
  • [22]. 括号生成