【Java|golang】2559. 统计范围内的元音字符串数

news2024/12/23 3:14:42

给你一个下标从 0 开始的字符串数组 words 以及一个二维整数数组 queries 。

每个查询 queries[i] = [li, ri] 会要求我们统计在 words 中下标在 li 到 ri 范围内(包含 这两个值)并且以元音开头和结尾的字符串的数目。

返回一个整数数组,其中数组的第 i 个元素对应第 i 个查询的答案。

注意:元音字母是 ‘a’、‘e’、‘i’、‘o’ 和 ‘u’ 。

示例 1:

输入:words = [“aba”,“bcb”,“ece”,“aa”,“e”], queries = [[0,2],[1,4],[1,1]]
输出:[2,3,0]
解释:以元音开头和结尾的字符串是 “aba”、“ece”、“aa” 和 “e” 。
查询 [0,2] 结果为 2(字符串 “aba” 和 “ece”)。
查询 [1,4] 结果为 3(字符串 “ece”、“aa”、“e”)。
查询 [1,1] 结果为 0 。
返回结果 [2,3,0] 。
示例 2:

输入:words = [“a”,“e”,“i”], queries = [[0,2],[0,1],[2,2]]
输出:[3,2,1]
解释:每个字符串都满足这一条件,所以返回 [3,2,1] 。

提示:

1 <= words.length <= 105
1 <= words[i].length <= 40
words[i] 仅由小写英文字母组成
sum(words[i].length) <= 3 * 105
1 <= queries.length <= 105
0 <= queries[j][0] <= queries[j][1] < words.length

    public int[] vowelStrings(String[] words, int[][] queries) {
        int[] preSum = new int[words.length+1];
        for (int i = 0; i < words.length; i++) {
            preSum[i+1]= preSum[i];
            if (judge(words[i].charAt(0))
                    &&judge(words[i].charAt(words[i].length()-1))){
                preSum[i+1]++;
            }
        }
        int[] res = new int[queries.length];
        for (int i = 0; i < queries.length; i++) {
            res[i]=preSum[queries[i][1]+1]-preSum[queries[i][0]];
        }
        return res;
    }
    public Boolean judge(char i){
        if (i=='a'||i=='e'||i=='o'||i=='i'||i=='u'){
            return true;
        }
        return false;
    }

在这里插入图片描述

func vowelStrings(words []string, queries [][]int) []int {
	preSum:=make([]int, len(words)+1)
	for i := range words {
		preSum[i+1]= preSum[i]
		if judge(words[i][0]) &&judge(words[i][len(words[i])-1]){
			preSum[i+1]++
		}
	}
	res:=make([]int, len(queries))
	for i := range queries {
		res[i]=preSum[queries[i][1]+1]-preSum[queries[i][0]]
	}
	return res
}
func judge(i uint8) bool {
	if i == 'a' || i == 'e' || i == 'o' || i == 'i' || i == 'u' {
		return true
	}
	return false
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter学习一:安装配置

目录 1 官方文档 2 安装配置 2.1 第一步&#xff1a;下载配置Flutter 2.2 第二步&#xff1a;下载配置Android Studio 2.3 第三步&#xff1a;下载配置VScode 1 官方文档 在 Windows 操作系统上安装和配置 Flutter 开发环境 - Flutter 中文文档 - Flutter 中文开发者网站…

从一个励志故事,读懂网络工程师的职业规划

这个励志故事主人公的起点&#xff0c;是在伟创力的工厂打螺丝。 改变 他很早不上学了&#xff0c;出社会的时候学历和技能什么也没有&#xff0c;就只能去工厂打螺丝。他在伟创力的工厂打螺丝打了好多年&#xff0c;在接近30岁的时候&#xff0c;他哥跟他说&#xff1a;你不能…

黑客零基础从入门到精通学习成长路线(超多图、非常详细),看完这一篇就够了

前言 近几年&#xff0c;随着移动互联网、大数据、云计算、人工智能等新一代信息技术的快速发展&#xff0c;围绕网络和数据的服务与应用呈现爆发式增长&#xff0c;丰富的应用场景下暴露出越来越多的网络安全风险和问题。 但是&#xff0c;我国网络安全整体投入不高。网络安…

基于YOLOv7开发构建红外高空小目标检测识别分析系统

基于yolo系列的模型开发构建红外场景下的目标检测系统&#xff0c;在我之前的文章中已经有好几次实践了&#xff0c;感兴趣的话可以自行移步阅读&#xff1a; 《红外海洋目标检测实践&#xff0c;基于目标检测模型识别红外海洋目标》 《基于YOLO开发构建红外场景下无人机航拍…

【Java基础】简单参数和springboot方式形参传递法

一、知识点整理 1、Postman 2、在原始的web程序中获取请求参数需通过HttpServletRequest对象手动获取 二、操作步骤 1、参考链接1下载postman&#xff0c;并创建工作空间。 2、打开idea&#xff0c;新建项目&#xff0c;选择Spring Initializar&#xff0c;依赖库勾选Web下…

Locust接口性能测试

谈到性能测试工具&#xff0c;我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具&#xff0c;功能非常强大。但现在一般不推荐使用该工具来进行性能测试&#xff0c;主要是使用也较为复杂&#xff0c;而且该工具体积比较大&#xff0c;需要付费且价…

temu,速卖通,国际站如何稳定安全的测评补单,提升权重不降权

随着互联网和电子商务的快速发展&#xff0c;越来越多的企业和个人通过测评&#xff0c;补单进行产品推广和销售。然而&#xff0c;在测评&#xff0c;补单过程中&#xff0c;如何稳定安全地进行&#xff0c;以提升权重而不降权&#xff0c;成为了许多经营者关注的重要问题。林…

day44_项目1

今日内容 零、 复习昨日 零、 复习昨日 一、web开发流程 1.公司部门的组成人事部门HR技术部门(研发部/IT部/java组/h5组/c组/ui组/产品)行政部门财务部门市场部门运营部门总经理老板/董事/CEO2.项目部人员的组成 各种开发人员: UI/前端/后端(java/c/Python/c/android/Object-c…

CTFShow-WEB入门篇--信息搜集详细Wp

CTFShow-WEB入门篇详细Wp 信息收集&#xff1a;web1&#xff1a;web2&#xff1a;web3&#xff1a;web4&#xff1a;web5&#xff1a;web6&#xff1a;web7&#xff1a;web8&#xff1a;web9&#xff1a;web10&#xff1a;web11&#xff1a;web12&#xff1a;web13&#xff1a;…

基于linux的程序库文件打包和调用的实现(二)——动态库文件打包和调用

随着技术的发展&#xff0c;基于linux项目的软件代码越发复杂&#xff0c;原来一个人可以完成的软件项目&#xff0c;现在可能需要多个人合作、多个部门合作、多个企业合作&#xff0c;每个人、每个部门、每个企业可能负责部分软件模块的开发。各个软件模块在调试过程由于涉及企…

测试思想-集成测试 关于接口测试 Part 2

5. 用例设计思想(举例说明) 如上表&#xff0c;是某个接口说明文档中的一个接口&#xff0c;课程检索&#xff0c;其中“v1/Lesson/testsrch/?” 为接口调用地址&#xff0c;此外&#xff0c;还给出了接口函数输出(即Server Response)及返回值。 问&#xff1a;怎么设计&…

如何免费在线把Figma转成Sketch

我相信所有的设计师都非常熟悉新的设计工具。Figma以其在线合作的特点受到设计师的欢迎。然而&#xff0c;对于设计师来说&#xff0c;在实际工作中&#xff0c;有时需要使用Sketch编辑Figma文件。 今天推荐一款Figma转换Sketch文件格式的免费工具。 下面具体介绍如何通过即时…

chatgpt赋能python:Python内置函数表

Python内置函数表 Python是一种高级编程语言&#xff0c;具有许多内置函数&#xff0c;可用于各种用途&#xff0c;例如处理字符串、操作文件、执行数学计算等等。在本文中&#xff0c;我们将介绍Python内置函数表并讨论其中的一些常见用途。 什么是Python内置函数&#xff1…

JavaFX 树视图TreeView

JavaFX 树视图TreeView 1、TreeView基础查看2、显示案例 1、TreeView基础查看 javafx.scene.control.TreeView<T> javafx.scene.control.TreeItem<T> w3cschool&#xff1a;JavaFX 树视图 DOC-03-14 树视图(Tree View) JavaFX视频教程第101课&#xff0c;TreeView…

List 的使用

1. List 列表视图实现增删改操作 /// 列表视图 struct ListBootcamp: View {/// 水果State var fruits: [String] ["apple", "orange", "banana", "peach"]/// 蔬菜State var veggies: [String] ["tomato", "potato…

【笔试强训编程题】Day4.(计算糖果 46579 ) 和(进制转换 58541)

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训编程题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01; 文章目录…

如何在Moonbeam DAPP质押GLMR

Moonbeam自上线以来一直稳步成长&#xff0c;并致力于为以太坊生态的项目提供一个进入波卡生态的入口。Moonbeam的官方质押Dapp于今年3月迎来一次大改版&#xff0c;旨在为用户提供更直观的质押操作体验。了解升级版Dapp详情&#xff0c;请阅读此文章。 当然大家最关心也是如何…

JavaEE 简单前后端分离小项目 - 表白墙

plus版表白墙&#xff01;✿✿ヽ(▽)ノ✿ 文章目录 JavaEE & 简单前后端分离小项目 - 表白墙1. body格式约定 - 应用层协议2. 后端处理请求2.1 模板2.2 doGet方法2.3 doPost方法 3. 前端制作请求并解析响应3.1 原前端页面的代码3.2 刷新时发送GET请求3.3 点击发送时构造Pos…

Photoshop 2023 v24.5/24.6beta版「支持M1、支持神经滤镜、FireflyAI 新功能」

24.6beta试用FireflyAI 新功能&#xff0c;需要外网ID, 并且要先试用&#xff0c;后激活 psv24.5支持神经滤镜&#xff0c;激活前需要登录Adobe账号试用&#xff0c;退出后再去运行激活补丁&#xff01; Photoshop 2023 v24.5/24.6beta版「支持M1、支持神经滤镜、FireflyAI 新…

【开源项目】ChatGPT智能聊天系统后台管理解析

ChatGPT是likeshop近期新研发出来的一款AI智能聊天对话的产品&#xff0c;此系统是基于likeadmin-PHP开发的智能对话系统&#xff0c;ChatGPT是一种基于人工智能技术的聊天机器人&#xff0c;它可以与用户进行自然语言对话&#xff0c;提供各种服务和答案。ChatGPT的核心技术是…