Facebook
From jhx, 5 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 143
  1. class Solution {
  2.     std::unordered_map<char,int> um;
  3. public:
  4.     int lengthOfLongestSubstring(string s) {
  5.         int left=0;
  6.         int right=0;
  7.         int maxvalue=0;
  8.         int val=0;
  9.         while(right<s.size()){
  10.             auto res=um.find(s[right]);
  11.             if(um.end()!=res){
  12.                 while(left<=right&&left<=res->second){
  13.                     um.erase(s[left]);
  14.                     left++;
  15.                     val--;
  16.                 }
  17.             }
  18.             um.insert(std::make_pair(s[right],right));
  19.             right++;
  20.             val++;
  21.             maxvalue=maxvalue>val?maxvalue:val;
  22.         }
  23.         return maxvalue;
  24.        
  25.     }
  26. };