zoukankan      html  css  js  c++  java
  • Anagram

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int anagaram(string s){
        // Complete this function
        map<char,int> s1;
        map<char,int> s2;
        int len = s.length();
        if(len%2 != 0 ){
            return -1;
        }
        for(int i = 0; i < len ;i++){
            s1[s[i]]=0;
            s2[s[i]]=0;
        }
        int count=0;
        int half = len / 2;//half = 4(0~7,8个元素)
        for(int i = 0 ;i < half;i++){
            s1[s[i]]++;
            s2[s[i + half]]++;
        }
        map<char,int>::iterator it;
        for(it = s1.begin();it!=s1.end();it++)
        {
            int tmp = it->second-s2[it->first];
            if(tmp>=0)
                count += tmp;
        }
        return count;
    }
    
    int main() {
        int q;
        cin >> q;
        for(int a0 = 0; a0 < q; a0++){
            string s;
            cin >> s;
            int result = anagaram(s);
            cout << result << endl;
        }
        return 0;
    }
     
     
  • 相关阅读:
    汉字词组换行
    C#中获取Excel文件的第一个表名
    SQL查找某一条记录的方法
    C#数据库连接字符大全
    整理的asp.net资料!(不得不收藏)
    母版页的优点,及母版页与内容页中相互访问方法
    13范式
    使用 Jackson 树连接线形状
    word2007,取消显示回车符
    三张表之间相互的多对多关系
  • 原文地址:https://www.cnblogs.com/lyf-sunicey/p/8483344.html
Copyright © 2011-2022 走看看