Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.HashSet;
- import java.util.Set;
- /**
- * Created by bugkiller on 09/06/19.
- */
- class LetterTilePossibilities {
- public static void main(String[] args) {
- LetterTilePossibilities obj = new LetterTilePossibilities();
- System.out.println(obj.numTilePossibilities("ABCDEF"));
- }
- public int numTilePossibilities(String tiles) {
- Set<String> result = new HashSet<>();
- possibilities(tiles, "", result);
- return result.size();
- }
- private void possibilities(String rem, String pre, Set<String> result) {
- if (rem.length() == 0) {
- if (pre.length() != 0) {
- result.add(pre);
- }
- return;
- }
- for (int i = 0; i < rem.length(); i++) {
- char c = rem.charAt(i);
- String before = rem.substring(0, i);
- String after = rem.substring(i + 1);
- String newRem = before + after;
- possibilities(newRem, pre, result);
- possibilities(newRem, pre + c, result);
- }
- }
- }
Add Comment
Please, Sign In to add comment