Solve a sliding window problem (like finding the longest substring without repeating characters or maximum sum subarray).
Anonimo
#include using namespace std; int lengthOfLongestSubstring(string s) { vector index(256, -1); // store last index of each char int maxLen = 0, start = -1; for (int i = 0; i < s.size(); i++) { if (index[s[i]] > start) start = index[s[i]]; // move start to last seen position index[s[i]] = i; // update last seen index maxLen = max(maxLen, i - start); } return maxLen; } int main() { string s = "abcabcbb"; cout << lengthOfLongestSubstring(s) << endl; // Output: 3 return 0; }