3. Longest Substring Without Repeating Characters

class Solution {
    public int lengthOfLongestSubstring(String s) {
        Set<Character> hash = new HashSet<>();
        int i = 0, j = 0, n = s.length();

        int ans = 0;
        while (i < n && j < n){
            if (!hash.contains(s.charAt(j))){
                ans = Math.max(ans, j - i + 1);
                hash.add(s.charAt(j++));
            }
            else{
                hash.remove(s.charAt(i++));
            }
        }

        return ans;
    }
}

O(n)

results for ""

    No results matching ""