• 2068. 检查两个字符串是否几乎相等


    2068. 检查两个字符串是否几乎相等

    如果两个字符串 word1 和 word2 中从 ‘a’ 到 ‘z’ 每一个字母出现频率之差都 不超过 3 ,那么我们称这两个字符串 word1 和 word2 几乎相等 。

    给你两个长度都为 n 的字符串 word1 和 word2 ,如果 word1 和 word2 几乎相等 ,请你返回 true ,否则返回 false 。

    一个字母 x 的出现 频率 指的是它在字符串中出现的次数。

    示例 1:

    输入:word1 = “aaaa”, word2 = “bccb”
    输出:false
    解释:字符串 “aaaa” 中有 4 个 ‘a’ ,但是 “bccb” 中有 0 个 ‘a’ 。
    两者之差为 4 ,大于上限 3 。

    示例 2:

    输入:word1 = “abcdeef”, word2 = “abaaacc”
    输出:true
    解释:word1 和 word2 中每个字母出现频率之差至多为 3 :

    • ‘a’ 在 word1 中出现了 1 次,在 word2 中出现了 4 次,差为 3 。
    • ‘b’ 在 word1 中出现了 1 次,在 word2 中出现了 1 次,差为 0 。
    • ‘c’ 在 word1 中出现了 1 次,在 word2 中出现了 2 次,差为 1 。
    • ‘d’ 在 word1 中出现了 1 次,在 word2 中出现了 0 次,差为 1 。
    • ‘e’ 在 word1 中出现了 2 次,在 word2 中出现了 0 次,差为 2 。
    • ‘f’ 在 word1 中出现了 1 次,在 word2 中出现了 0 次,差为 1 。

    示例 3:

    输入:word1 = “cccddabba”, word2 = “babababab”
    输出:true
    解释:word1 和 word2 中每个字母出现频率之差至多为 3 :

    • ‘a’ 在 word1 中出现了 2 次,在 word2 中出现了 4 次,差为 2 。
    • ‘b’ 在 word1 中出现了 2 次,在 word2 中出现了 5 次,差为 3 。
    • ‘c’ 在 word1 中出现了 3 次,在 word2 中出现了 0 次,差为 3 。
    • ‘d’ 在 word1 中出现了 2 次,在 word2 中出现了 0 次,差为 2 。

    这题还是挺有趣的,解题代码如下:

    bool checkAlmostEquivalent(char * word1, char * word2){
        int r[26];
        int i;
        for(i=0;i<26;i++){
            r[i]=0;
        }
        for(i=0;word1[i]!='\0';i++){
            r[word1[i]-'a']++;
        }
        for(i=0;word2[i]!='\0';i++){
            r[word2[i]-'a']--;
        }
      for(i=0;i<26;i++){
            if(abs(r[i])>3){
                return false;
            }
        }
        return true;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    Vue课程62-实现添加的功能
    [附源码]SSM计算机毕业设计在线购物系统JAVA
    制作甘特图
    Flutter 2.10 现已发布
    选择合适的项目管理系统来支持专业产品研发团队
    初识OpenGL (-)顶点之“链接顶点属性“
    【华为机试题分析】 6 质数因子
    SQL面试题及答案
    Python 直接赋值、浅拷贝和深度拷贝解析
    Tapdata 与优炫数据库完成产品兼容性互认证
  • 原文地址:https://blog.csdn.net/weixin_43327597/article/details/126006666