Largest Substring Between Two Equal Characters

As a Systems Engineer at Tata Consultancy Services, I deliver exceptional software products for mobile and web platforms, using agile methodologies and robust quality maintenance. I am experienced in performance testing, automation testing, API testing, and manual testing, with various tools and technologies such as Jmeter, Azure LoadTest, Selenium, Java, OOPS, Maven, TestNG, and Postman.
I have successfully developed and executed detailed test plans, test cases, and scripts for Android and web applications, ensuring high-quality standards and user satisfaction. I have also demonstrated my proficiency in manual REST API testing with Postman, as well as in end-to-end performance and automation testing using Jmeter and selenium with Java, TestNG and Maven. Additionally, I have utilized Azure DevOps for bug tracking and issue management.
Given a string s, return the length of the longest substring between two equal characters, excluding the two characters. If there is no such substring return -1.
A substring is a contiguous sequence of characters within a string.
LeetCode Problem: Link | Click Here
import java.util.HashMap;
class Solution {
public int maxLengthBetweenEqualCharacters(String s) {
// HashMap to store characters and their last seen index
HashMap<Character, Integer> charIndex = new HashMap<>();
// Variable to track the maximum distance between equal characters
int maxDistance = -1;
// Loop through each character in the input string
for (int i = 0; i < s.length(); i++) {
char currentChar = s.charAt(i);
// Check if the character has been seen before
if (charIndex.containsKey(currentChar)) {
// Calculate distance between current index and the last seen index of the character
int distance = i - charIndex.get(currentChar) - 1;
// Update maxDistance if the calculated distance is greater
maxDistance = Math.max(maxDistance, distance);
} else {
// If character is encountered for the first time, store its index
charIndex.put(currentChar, i);
}
}
// Return the maximum distance between equal characters
return maxDistance;
}
}




