【每日一题】统计范围内的元音字符串数

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:遍历
  • 其他语言
    • python3
  • 写在最后

Tag

【遍历】【数组】【2023-11-07】


题目来源

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

【每日一题】统计范围内的元音字符串数_第1张图片

题目解读

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


解题思路

方法一:遍历

遍历下标在 [left, right] 内的字符串 s,如果 s 的第一个字母和最后一个字母都是元音字母,把答案加一。

实现代码

class Solution {
public:
    int vowelStrings(vector<string>& words, int left, int right) {
        string str = "aoeiu";
        int res = 0;
        for (int i = left; i <= right; ++i) { 
            string word = words[i];
            res += str.find(word[0]) != string::npos && str.find(word.back()) != string::npos;
        }
        return res;
    }
};

代码中的 string::npos 表示直到字符串结果,和 str.find(word[0]) 连用即代码中的 str.find(word[0]) != string::npos 表示查找到 word[0] 在字符串 str 中的位置,也就是不等于 string::npos。如果查找不到那就回返回 string::npos

复杂度分析

时间复杂度: O ( r i g h t − l e f t ) O(right - left) O(rightleft)

空间复杂度: O ( 1 ) O(1) O(1)


其他语言

python3

class Solution:
    def vowelStrings(self, words: List[str], left: int, right: int) -> int:
        return sum(s[0] in "aoeiu" and s[-1] in "aoeiu" for s in words[left: right + 1])

写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 哦。

你可能感兴趣的:(LeetCode每日一题,遍历,数组,2023-11-07,C++,python3)