Advertisement
SalmaYasser

Untitled

Jan 1st, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. class Solution {
  2. public:
  3. string minWindow(string S, string T) {
  4.  
  5. vector <int> starts;
  6. int res_len = INT_MAX;
  7. int res_s = INT_MAX;
  8. for (int i= 0 ; i < S.size(); i++)
  9. {
  10. if (S[i] == T[0])
  11. starts.push_back(i);
  12. }
  13.  
  14.  
  15. for (int i = 0 ; i < starts.size(); i++)
  16. {
  17. int s = starts[i];
  18. int e = s + 1;
  19. int t = 1;
  20.  
  21. for ( ; e < S.size() && t < T.size();)
  22. {
  23. if (S[e] == T[t])
  24. t++;
  25. e++;
  26. }
  27. if (t != T.size())
  28. continue;
  29.  
  30. if (e - s < res_len)
  31. {
  32. res_len = e - s ;
  33. res_s = s;
  34. }
  35.  
  36. }
  37. return res_len == INT_MAX ? "":S.substr(res_s,res_len);
  38. }
  39. };
  40.  
  41. /*
  42. 0 1 2 3 4 5 6 7 8
  43. S = a b c d e b d d e T = b d e
  44. ^ ^ ^
  45. s e
  46.  
  47.  
  48. ans = (4 - 1) + 1 = 4
  49.  
  50. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement