string chek;
int Max = 0, sum = 0;
map <int, char> m1;
int lengthOfLongestSubstring(string s) {
for (char c : s) {
if (equal(m1.begin(), m1.end(), c)) {
m1.clear();
Max = max(Max, sum);
sum = 0;
}
else {
m1.insert({ sum, c });
sum++;
}
}
return Max;
}
};
equal как-то смущает )
вот так норм? Я ищу строку s, надо найти длину самой длинной подстроки class Solution { public: string chek; int Max = 0, sum = 0; map <int, char> m1; int lengthOfLongestSubstring(string s) { for (char c : s) { if (m1.find(c) != m1.end()) { m1.clear(); Max = max(Max, sum); sum = 0; } else { m1.emplace(sum, c); sum++; } } return Max; } }; int main() { Solution S; string s = "abbbbbbbb"; cout<<S.lengthOfLongestSubstring(s); return 0; }
find ищет по ключу, у тебя ключ что?
Обсуждают сегодня