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 ищет по ключу, у тебя ключ что?
Обсуждают сегодня