• 算法训练 Anagrams问题


      算法训练 Anagrams问题  
    时间限制:1.0s   内存限制:512.0MB
        
    问题描述
      Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
      输入格式:输入有两行,分别为两个单词。
      输出格式:输出只有一个字母Y或N,分别表示Yes和No。
      输入输出样例
    样例输入
    Unclear
    Nuclear
    样例输出
    Y
    解题思路:把所有的大写都转换成小写,然后全部加起来比较是否相等就行了。这种方法字母可以。
    如果改成数字好像这种方法就不行了,比如3445和4444
    #include <iostream>
    #include <cstdio>
    #include <cstring>
    
    using namespace std;
    
    int main()
    {
        char a[100],b[100];
        scanf("%s %s",a,b);
        int lena=strlen(a);
        int lenb=strlen(b);
        if(lena!=lenb){
            printf("N");
            return 0;
        }
        int sum1=0,sum2=0;
        for(int i=0;i<lena;i++){
            if(a[i]>='a'&&a[i]<='z'){
                a[i]-=('a'-'A');
            }
            if(b[i]>='a'&&b[i]<='z'){
                b[i]-=('a'-'A');
            }
            sum1+=a[i]-'A';
            sum2+=b[i]-'A';
        }
        if(sum1==sum2){
            printf("Y");
        }else{
            printf("N");
        }
        return 0;
    }
  • 相关阅读:
    利用dns类和WMI规范获取IP及MAC地址
    vs2010编辑器中代码前的虚线问题
    项目发布方法
    HTML5 声明兼容IE的写法 asp.net 狼
    Jquery总结 狼
    IE、FF、Chrome、兼容性文章 狼
    sql游标实现行列转换 狼
    【狼的格言】 狼
    设计模式提升与加强一 狼
    读Head.First设计模式有感 狼
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/6290528.html
Copyright © 2020-2023  润新知