Skip to main content

Command Palette

Search for a command to run...

Largest Substring Between Two Equal Characters

Published
1 min read
Largest Substring Between Two Equal Characters
G

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;
    }
}

More from this blog

S

Software and Performance Testing Insights

462 posts

Results-Driven Agile QA Specialist | Expert in Mobile & Web Testing | Proficient in Test Planning, Execution, and Root Cause Analysis.