map에서 문자열을 키 값으로 사용하고 비교 함수를 사용자 정의하려고합니다. 문자열을 길이 비교하여 비교 함수를 사용자 정의 할 때 맵은 동일한 크기의 다른 문자열을 전달하지 못합니다. 코드는 다음과 같습니다 내 입력 strs가 ["aba","cdc","eae","abcd"]
입니다문자열을지도의 키로 사용하여 비교 함수를 사용자 지정합니다.
class Solution {
public:
int findLUSlength(vector<string>& strs) {
if(strs.size() < 2) return -1;
auto cmpByStringLength = [](const string &s1, const string &s2)->bool
{
return s1.size() < s2.size();
};
map<string, int, decltype(cmpByStringLength)> mpstringcount(cmpByStringLength);
for(int i = 0; i < strs.size(); i++)
mpstringcount[strs[i]]++;
for(auto itmp = mpstringcount.begin(); itmp != mpstringcount.end(); itmp++)
{
cout << "itmp->first: " << itmp->first << endl;
}
return -1;
}
};
경우 코드 것입니다 단지 출력 : "abcd"
및 "aba"
.
"this"를 이해 하시겠습니까? 뭘 이해해? –