How to find the largest substring between two equal characters in a string with C++

1 Answer

0 votes
#include <iostream>
#include <cmath>
  
std::string GetLongestSubstring(std::string str) {
    int start = 0, end = 0, max = 0;
    size_t size = str.size();
 
    for (int i = 0; i < size - 1; i++) {
        for (int j = i + 1; j < size; j++) {
            if (str[i] == str[j]) {
                int temp = abs(j - i - 1);
                if (temp > max) {
                    max = temp;
                    start = i + 1;
                    end = j;
                }
            }
        }
    }

    return str.substr(start, end - start);
}
  
int main()
{
    std::string str = "zXoDc++programmingDkmq";
     
    std::string result = GetLongestSubstring(str);
  
    std::cout << result;
}
  
  
  
  
/*
run:
  
c++programming
  
*/

 



answered Dec 24, 2022 by avibootz
edited Dec 24, 2022 by avibootz
...