• Leetcode1704:判断字符串的两半是否相似


    原文链接:1704. 判断字符串的两半是否相似 - 力扣(LeetCode)


    题目

            给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。

            两个字符串 相似 的前提是它们都含有相同数目的元音('a','e','i','o','u','A','E','I','O','U')。注意,s 可能同时含有大写和小写字母。

            如果 a 和 b 相似,返回 true ;否则,返回 false 。

    示例 1:

    输入:s = "book"
    输出:true
    解释:a = "bo" 且 b = "ok" 。a 中有 1 个元音,b 也有 1 个元音。所以,a 和 b 相似。

    示例 2:

    输入:s = "textbook"
    输出:false
    解释:a = "text" 且 b = "book" 。a 中有 1 个元音,b 中有 2 个元音。因此,a 和 b 不相似。
    注意,元音 o 在 b 中出现两次,记为 2 个。

    提示:

    2 <= s.length <= 1000
    s.length 是偶数
    s 由 大写和小写 字母组成

    解题思路
    1、设置两个变量,记录前后半段的原因数
    2、将字符串转为字符数组,然后遍历

    时间:5ms 空间:41.2MB

    代码

    1. class Solution {
    2.     public boolean halvesAreAlike(String s) {
    3.         char[] ch = s.toCharArray();
    4.         int a1 = 0, a2 = 0;//记录元音数
    5.         String str = "aeiouAEIOU";
    6.         for(int i=0;i
    7.             //检查前半段
    8.             if(i2){
    9.                 if(str.contains(ch[i]+"")){
    10.                     a1++;
    11.                 }
    12.             }
    13.             //检查后半段
    14.             else{
    15.                 if(str.contains(ch[i]+"")){
    16.                     a2++;
    17.                 }
    18.             }
    19.         }
    20.         return a1==a2;
    21.     }
    22. }

    稍微优化了一些
    时间:4ms 空间:39.7MB

    1. class Solution {
    2.     public boolean halvesAreAlike(String s) {
    3.         char[] ch = s.toCharArray();
    4.         int a1 = 0, a2 = 0;//记录元音数
    5.         Set set = Set.of('A','E','I','O','U','a','e','i','o','u');
    6.         for(int i=0;i
    7.             if(set.contains(ch[i])){
    8.                 if(i2) a1++;
    9.                 else a2++;
    10.             }
    11.         }
    12.         return a1==a2;
    13.     }
    14. }
  • 相关阅读:
    Faiss原理和使用总结
    AutoCAD Civil 3D中文本地化模板下载及设置
    uniapp的h5项目怎样分享指定信息到Facebook
    HTML页面
    用 Hugging Face 推理端点部署 LLM
    序列标注理解
    【GEE】6、在 Google 地球引擎中构建各种遥感指数
    Oracle P6 -SQLServer数据库乱码案例分享
    网站收集软件-免费网站收集软件
    【微服务实战系列】 nacos作为注册中心使用
  • 原文地址:https://blog.csdn.net/qq_52726736/article/details/127824243