3. Longest Substring Without Repeating Characters
class Solution { public int lengthOfLongestSubstring(String s) { Map<Character, Integer> map=new HashMap<Character, Integer>(); int maxlen=0; for(int j=0,i=0;i<s.length();i++) { char c=s.charAt(i); if(map.containsKey(c)&&j<=map.get(c)) { maxlen=Math.max(maxlen, i-j); j=map.get(c)+1; map.put(c, i); } else if(i==s.length()-1) maxlen=Math.max(maxlen, i-j+1); map.put(c, i); } return maxlen; } }