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

OJ练习第127题——统计范围内的元音字符串数

统计范围内的元音字符串数

力扣链接:2559. 统计范围内的元音字符串数

题目描述

给你一个下标从 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] 。

Java代码

class Solution {public int[] vowelStrings(String[] words, int[][] queries) {int n = words.length;int[] prefixSums = new int[n + 1];for (int i = 0; i < n; i++) {int value = isVowelString(words[i]) ? 1 : 0;prefixSums[i + 1] = prefixSums[i] + value;}int q = queries.length;int[] ans = new int[q];for (int i = 0; i < q; i++) {int start = queries[i][0], end = queries[i][1];ans[i] = prefixSums[end + 1] - prefixSums[start];}return ans;}public boolean isVowelString(String word) {return isVowelLetter(word.charAt(0)) && isVowelLetter(word.charAt(word.length() - 1));}public boolean isVowelLetter(char c) {return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';}
}

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-vowel-strings-in-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

http://www.lryc.cn/news/91266.html

相关文章:

  • 图片优化: CssSprites与Base64编码
  • JavaScript中的Map、WeakMap和Object的区别
  • 华为OD机试之打印机队列(Java源码)
  • 分享一个国内免费的ChatGPT网站,手机电脑通用,免费无限制,支持AI绘画
  • 【面向对象编程1】——类和对象——如桃花来
  • chat聊天系统消息消费时遇到的问题及优化思路(二)
  • js正则中的match()
  • Apache 配置和应用
  • 实现PyTorch/ONNX自定义节点操作的TensorRT部署
  • Shamir 秘密共享、GMW和BGW方案
  • Day56【动态规划】583.两个字符串的删除操作、72.编辑距离
  • Arnold图像置乱的MATLAB实现
  • ASP.NET Core
  • javascript基础二十二:举例说明你对尾递归的理解,有哪些应用场景
  • hive中如何计算字符串中表达式
  • 如何将maven项目改为springboot项目?
  • Java与查找算法(5):哈希查找
  • Vercel部署个人博客
  • 【论文阅读】An Object SLAM Framework for Association, Mapping, and High-Level Tasks
  • 《metasploit渗透测试魔鬼训练营》学习笔记第六章--客户端渗透
  • 华为OD机试真题 Java 实现【Linux 发行版的数量】【2023Q1 100分】
  • VMware ESXi 8.0U1a macOS Unlocker OEM BIOS (标准版和厂商定制版)
  • Effective STL_读书笔记
  • 通过yum:mysql5.6-msyql5.7-mysql8.0升级之路
  • C语言数据存储 — 整型篇
  • 高级Excel功能教程_编程入门自学教程_菜鸟教程-免费教程分享
  • ChatGPT会取代低代码开发平台吗?
  • Linux :: 文件内容操作【5】:echo 指令 与 输入重定向、输出重定向、追加重定向在文件内容写入中的简单用法!
  • 【RocketMQ】重试机制及死信消息处理
  • Mysql DDL执行方式-pt-osc介绍 | 京东云技术团队