publicint(String s, int k){ if (s == null || s.length() == 0) return0; HashMap<Character, Integer> map = new HashMap<>(); int left = 0, max = 0; for (int i = 0; i < s.length(); ++i) { char c = s.charAt(i); if (map.containsKey(c)) { map.put(c, map.get(c) + 1); } else { map.put(c, 1); while (map.size() > k) { c = s.charAt(left++); map.put(c, map.get(c) - 1); if (map.get(c) == 0) { map.remove(c); } } } max = Math.max(max, i - left + 1); } return max; }
publicint(String s, int k){ if (s == null || s.length() == 0) return0; HashMap<Character, Integer> map = new HashMap<>(); int left = 0, count = 0, max = 0; for (int i = 0; i < s.length(); ++i) { char c = s.charAt(i); if (map.containsKey(c)) { map.put(c, map.get(c) + 1); } else { map.put(c, 1); ++count; } if (count == k) { int len = i - left + 1; max = Math.max(len, max); // move left while (map.containsKey(s.charAt(left)) && map.get(s.charAt(left)) > 0) { map.put(s.charAt(left), map.get(s.charAt(left)) - 1); } map.remove(s.charAt(left)); ++left; --count; } } return max; }
近期评论