博客
关于我
1704 - 判断字符串的两半是否相似 - 模拟
阅读量:708 次
发布时间:2019-03-21

本文共 1382 字,大约阅读时间需要 4 分钟。

1223 题目描述

给定一个偶数长度的字符串 s,将其拆分成长度相同的两半,前一半为 a,后一半为 b。如果两个字符串相似,则返回 true,否则返回 false。两个字符串相似指的是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。

示例

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

示例 2:输入:"textbook"输出:false解释:a = "text"b = "book"a 中有 1 个元音,b 中有 2 个元音。因此,ab 不相似。

示例 3:输入:"MerryChristmas"输出:false示例 4:输入:"AbCdEfGh"输出:true

方法一 模拟统计法

思路

  • 创建一个包含所有元音字母的小写和大写数组。
  • 定义一个函数 isYuan,用于判断一个字符是否是元音字母。
  • 遍历字符串,分别统计前半部分和后半部分的元音数目。
  • 如果前半部分和后半部分的元音数目相同,返回 true,否则返回 false
  • 解题思路

  • 创建一个包含所有元音字母的字符数组。
  • 定义用于检查字符是否为元音的函数 isYuan
  • 使用计数器分别记录前半部分和后半部分的元音数目。
  • 比较两部分的元音数目,返回结果。
  • 方法实现

    package mainimport (    "bytes")func isYuan(c byte) bool {    meta := []byte{        'a', 'e', 'i', 'o', 'u',        'A', 'E', 'I', 'O', 'U',    }    for _, v := range meta {        if v == c {            return true        }    }    return false}func halvesAreAlike(s string) bool {    length := len(s)    lenHalf := length / 2    countA := 0    countB := 0    crossCount := 0    for i := 0; i < length; i++ {        if isYuan(s[i]) {            switch {            case i < lenHalf:                countA++            case i >= lenHalf:                countB++            default:                crossCount++            }        }    }    return (countA + crossCount) == (countB + crossCount)}

    其他注意事项

    • 时间复杂度:O(n)
    • 空间复杂度:O(n)
    • 联系作者(如有):随便一个名字@么么哒的联系邮箱xxx@xxx.com

    转载地址:http://uowrz.baihongyu.com/

    你可能感兴趣的文章
    php如何正确的获得文件的后缀名
    查看>>
    PHP如何生成唯一的数字ID
    查看>>
    PHP如何获取当前页面的最后修改时间
    查看>>
    PHP如何读取json数据
    查看>>
    PHP字符串
    查看>>
    PHP字符串递增
    查看>>
    php学习之基础语法
    查看>>
    RabbitMQ集群 - 仲裁队列、Raft协议(最详细的选举流程)
    查看>>
    PHP学习总结(11)——PHP入门篇之WAMPServer多站点配置
    查看>>
    PHP学习总结(12)——PHP入门篇之变量
    查看>>
    PHP学习总结(13)——PHP入门篇之常量
    查看>>
    PHP学习总结(14)——PHP入门篇之常用运算符
    查看>>
    PHP学习总结(1)——PHP入门篇之PHP可以做什么?
    查看>>
    PHP学习总结(2)——PHP入门篇之PHP代码标识
    查看>>
    PHP学习总结(3)——PHP入门篇之PHP的echo语句
    查看>>
    PHP学习总结(4)——PHP入门篇之PHP计算表达式
    查看>>
    PHP学习总结(5)——PHP入门篇之PHP字符串
    查看>>
    PHP学习总结(6)——PHP入门篇之PHP语句结束符
    查看>>
    PHP学习总结(7)——PHP入门篇之PHP注释
    查看>>
    rabbitmq重启失败
    查看>>