fork download
  1. string lastSubstring(string s) {
  2. map<char,vector<int> > mp;
  3. for (int i=0;i<s.size();i++)
  4. {
  5. mp[s[i]].push_back(i);
  6. }
  7. vector<int> temp=mp.rbegin()->second;
  8. vector<int> last_indices;
  9. last_indices.push_back(temp[0]);
  10. for (int i=1;i<temp.size();i++)
  11. {
  12. if (temp[i]!=temp[i-1]+1)
  13. last_indices.push_back(temp[i]);
  14. }
  15.  
  16. if (last_indices.size()==1)
  17. {
  18. return s.substr(last_indices[0],s.size()-last_indices[0]);
  19. }
  20. map<string,int> mp2;
  21. int n=last_indices.size();
  22. mp2[s.substr(last_indices[n-1],s.size()-(last_indices[n-1]))]=last_indices[n-1];
  23. for (int i=last_indices.size()-2;i>=0;i--)
  24. {
  25. mp2[s.substr(last_indices[i],last_indices[i+1]-last_indices[i]+1)]=last_indices[i];
  26. }
  27. return s.substr(mp2.rbegin()->second,s.size()-mp2.rbegin()->second);
  28. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:1:1: error: ‘string’ does not name a type; did you mean ‘struct’?
 string lastSubstring(string s) {
 ^~~~~~
 struct
stdout
Standard output is empty