1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #include<iostream> #include<set> #include<cstdlib> #include<vector> #include<cstring> using namespace std; class Solution { public: int uniqueMorseRepresentations(vector<string>& words) { for(int i=0;i<words.size();i++){ string a=""; for(int j=0;words[i][j]!='\0';j++){ a+=arr[words[i][j]-'a']; } Arr.insert(a); } set<string>::iterator it=Arr.begin(); for(it;it!=Arr.end();it++){ count++; } return count; } private: set<string>Arr; int count=0; vector<string> arr={".-","-...","-.-.","-..", ".","..-.","--.","....", "..",".---","-.-",".-..", "--","-.","---",".--.", "--.-",".-.","...","-", "..-","...-",".--","-..-", "-.--","--.."}; }; int main(){ vector<string> word={"gin", "zen", "gig", "msg"}; cout<<Solution().uniqueMorseRepresentations(word)<<endl; return 0; }
|