Advertisement
nikunjsoni

763

Apr 12th, 2021
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.47 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     vector<int> partitionLabels(string S) {
  4.         int last[26]={0};
  5.         vector<int> res;
  6.        
  7.         for(int i=0; i<S.length(); i++)
  8.             last[S[i]-'a'] = i;
  9.        
  10.         for(int i=0,left=0,right=0; i<S.length(); i++){
  11.             right = max(last[S[i]-'a'], right);
  12.             if(right == i){
  13.                 res.push_back(right-left+1);
  14.                 left = i+1;
  15.             }
  16.         }
  17.         return res;
  18.     }
  19. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement