Skip to content

Instantly share code, notes, and snippets.

@chrislzm
Last active May 11, 2017 21:19
Show Gist options
  • Save chrislzm/ebc8349f4d5fff4b6698dd32b7292351 to your computer and use it in GitHub Desktop.
Save chrislzm/ebc8349f4d5fff4b6698dd32b7292351 to your computer and use it in GitHub Desktop.
Coding Problem (Strings)
static int getMaxStrLen(String s) {
Set<Character> chars = new HashSet<> ();
char[] cArray = s.toCharArray();
for (char c : cArray) {
if (!chars.contains(c)) {
chars.add(c);
}
}
if (chars.size() < 2)
return 0;
Character[] chrArray = chars.toArray(new Character[0]);
StringBuilder sb = new StringBuilder();
int maxLength = 0;
for (int i=0; i<chrArray.length; i++) {
for (int j = 1; j<chrArray.length; j++) {
for (char c : cArray) {
if (c == chrArray[i] || c == chrArray[j])
sb.append(c);
}
String s2 = sb.toString();
if (isValidString(s2)) {
if (s2.length() > maxLength)
maxLength = s2.length();
}
sb.setLength(0);
}
}
return maxLength;
}
static boolean isValidString(String s) {
if (s.length() < 2)
return false;
for (int i = 0; i < s.length() - 1; i++) {
if (s.charAt(i) == s.charAt(i + 1))
return false;
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment