leetcode819最も一般的なWordc ++アルゴリズム



Leetcode 819 Most Common Word C Algorithm



リートコードの問題に対するその他の解決策については、githubにアクセスして以下を表示してください。 https://github.com/guanginuestc/LeetCode
100%より速く実行されるコード。

map<string, int> split(string inputstring, string c) { vector<string> result map<string, int> temp_map string::size_type pos1 = 0, pos2 = 0 string temp while (pos2 if (pos2 == -1) { while (pos1 if (isalpha(inputstring[pos1])) temp += tolower(inputstring[pos1]) pos1++ } if (temp.size()) temp_map[temp] ++ break } while (pos1 if (isalpha(inputstring[pos1])) temp += tolower(inputstring[pos1]) pos1++ } pos2 += c.size() if (temp.size()) temp_map[temp] ++ result.push_back(temp) temp = '' pos1 = pos2 } return temp_map } string mostCommonWord(string paragraph, vector<string>& banned) { map<string, int> ss = split(paragraph, ' ') for (vector<string>::iterator i = banned.begin() i != banned.end() i++) { ss[*i] = 0 } string temp int temp_num = 0 for (map<string, int>::iterator ix = ss.begin() ix != ss.end() ix++) { if (temp_numsecond) { temp_num = ix->second temp = ix->first } } return temp }