字符串加密

描述

这是一个古老的字符串加密方法,给定两个长度不超过100个字符的字符串,判断是否可以把其中一个重排,然后对26个字母做一个一一映射,使得两个字符串相同。 再进行映射:例如 每个字母映射到前一个字母(B→A,C → B,Z → Y,A → Z)。

本题目只判断两个输入字符串是否具有相同字符频度特征,两字串特征相同则输出YES,不同则输出NO。

输入

两个字串,全大写

输出

YES or NO

样例输入
JWPUDJSTVP
VICTORIOUS
HEHE
HAHA
AAA
AAA
ROOM
ROME
样例输出
YES
YES
YES
NO

思路

本题的关键不是在于怎么寻找映射规则(映射规则可千奇百怪,没法去预测),而是在于字符串1和字符串2是否具有的字符个数

code

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<algorithm>
#include<cstring> 
using namespace std;

bool StringSame(string s1, string s2) {
    int count1[26], count2[26];//利用桶排序统计每个字符串的字符个数 
    memset(count1,0,sizeof(count1));
    memset(count2,0,sizeof(count2));//一定要对count1和count2进行初始化,否则就会出错 
    if (s1.size() != s2.size()) return false;
    else {//两字符串长度相同
        for (int i = 0; i <= s1.size(); i++) {
            //统计每个字符串的字符个数
            count1[s1[i] - 'A']++;
            count2[s2[i] - 'A']++;
        }
        sort(count1, count1 + 25);
        sort(count2, count2 + 25);
        for (int i = 0; i < 26; i++) {
            if (count1[i] != count2[i]) return false;
        }
    }
    return true;
}
int main()
{
    string a, b;
    while (cin >> a >> b) {
        if (StringSame(a,b)) cout << "YES" << endl;
        else cout << "NO" << endl;
    }
    return 0;
}

相关推荐

  1. 字符串加密

    2024-04-23 16:28:02       37 阅读
  2. MD5加密返回32位密文字符串

    2024-04-23 16:28:02       35 阅读
  3. 使用jsencrypt在web前端对字符串进行Ras加密

    2024-04-23 16:28:02       25 阅读
  4. 使用 AES 算法在 C# 中实现安全字符串加密和解密

    2024-04-23 16:28:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-23 16:28:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-23 16:28:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-23 16:28:02       82 阅读
  4. Python语言-面向对象

    2024-04-23 16:28:02       91 阅读

热门阅读

  1. Stable Diffusion 本地部署教程

    2024-04-23 16:28:02       33 阅读
  2. 234. 回文链表

    2024-04-23 16:28:02       34 阅读
  3. 23种设计模型

    2024-04-23 16:28:02       35 阅读
  4. css 设置无背景色

    2024-04-23 16:28:02       27 阅读
  5. C++循环结构案例 水仙花数

    2024-04-23 16:28:02       32 阅读
  6. 面试经典-Redis数据库的数据倾斜

    2024-04-23 16:28:02       29 阅读
  7. mysql面试题四(事务)

    2024-04-23 16:28:02       32 阅读
  8. 两套数据库共享存储传递数据

    2024-04-23 16:28:02       25 阅读
  9. 【算法模板】图论基础算法

    2024-04-23 16:28:02       34 阅读
  10. Uni-App 生命周期

    2024-04-23 16:28:02       32 阅读
  11. Vue 动态加载全局样式css(切换ui主题方案)

    2024-04-23 16:28:02       39 阅读
  12. jupyter notebook用不了multiporcessing的问题

    2024-04-23 16:28:02       28 阅读