Skip to content

Instantly share code, notes, and snippets.

@vrat28
Created May 14, 2021 06:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vrat28/bda23e3f7bb39911eb192075ff2b93c1 to your computer and use it in GitHub Desktop.
Save vrat28/bda23e3f7bb39911eb192075ff2b93c1 to your computer and use it in GitHub Desktop.
Ambiguous Coordinates
class Solution { //aw
public List<String> ambiguousCoordinates(String S) {
List<String> ans = new ArrayList();
for (int i = 2; i < S.length()-1; ++i)
for (String left: make(S, 1, i))
for (String right: make(S, i, S.length()-1))
ans.add("(" + left + ", " + right + ")");
return ans;
}
public List<String> make(String S, int i, int j) {
// Make on S.substring(i, j)
List<String> ans = new ArrayList();
for (int d = 1; d <= j-i; ++d) {
String left = S.substring(i, i+d);
String right = S.substring(i+d, j);
if ((!left.startsWith("0") || left.equals("0"))
&& !right.endsWith("0"))
ans.add(left + (d < j-i ? "." : "") + right);
}
return ans;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment