• 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. }
  • 相关阅读:
    Q&A 特辑 | 百万员工不上班也能领全勤奖的原因都在这里了!
    Prometheus 采集SQL Server数据库监控数据
    MySQL分页查询的工作原理
    数据仓库规范
    动态规划专栏
    Python+”高光谱遥感数据处理与机器学习深度应用丨高光谱数据预处理-机器学习-深度学习-图像分类-参数回归
    Nginx -Web服务器/反向代理/负载均衡
    Window安装Node.js npm appium Appium Desktop
    dockerfile创建镜像与容器卷
    记一次 Visual Studio 2022 卡死分析
  • 原文地址:https://blog.csdn.net/qq_52726736/article/details/127824243