• 字符串分类问题(牛客第二场笔试)


    牛牛有N个字符串,他想将这些字符串分类,他认为两个字符串A和B属于同一类需要满足以下条件:
    A中交换任意位置的两个字符,最终可以得到B,交换的次数不限。比如:abc与bca就是同一类字符串。
    现在牛牛想知道这N个字符串可以分成几类。

    #include "stdio.h"
    #include <vector>
    #include <deque>
    #include <stack>
    #include<map>
    #include<utility>
    using namespace std;
    
    class Sort {
    public:
      int find(vector<string> res, int n) {
            // write code here
            int count = 0;
            if(n>50)
                return 0;
    
            map<string,int> stringMap;
            map <string,int>::iterator iter,iterend;
            for(int i=0;i<n;i++)
            {
                sort(res[i].begin(),res[i].end());
                stringMap.insert(pair<string,int>(res[i],res[i].size()));
            }
            iterend = stringMap.end();
            for(iter=stringMap.begin();iter!=iterend;iter++)
            {
                count++;
            }
           /* for(int i=0;i<n;i++)
            {
                for(int j=0;j<res[i].size();j++)
                {
                    cout<<res[i][j]<< " ";
                }
                cout<<endl;
            }
            */
            return count;
      }
    };
    int main() {
        int num;
        string str;
        vector<string> res;
       // while(cin>>num)
        {
            cin>>num;
    
            for(int i=0;i<num;i++)
            {
                cin>>str;
                res.push_back(str);
            }
        }
    
    
    
        Sort solution;
        int result = solution.find(res,num);
        cout<<"RESULT:"<<result<<endl;
       return 0;
    }
  • 相关阅读:
    函数防抖和函数节流.md
    es6的展开运算符.md
    web安全-xss.md
    es6 数组实例中的find() 和 findIndex() 方法.md
    vuex的学习
    利用nodejs搭建本地服务器.md
    webpack的配置学习
    npm常用命令
    配置phpstorm支持less自动编译css
    Nginx配置中遇到到的问题和解决方案
  • 原文地址:https://www.cnblogs.com/omelet/p/6617092.html
Copyright © 2020-2023  润新知