public int countNumbersWithUniqueDigits(int n) {
boolean[] used = new boolean[10];
int[] count = new int[1];
getNumbersWithUniqueDigits(0, n, used, count);
public void getNumbersWithUniqueDigits(int curLevel, int depth, boolean[] used, int[] count) {
int start = curLevel == 0 ? 1 : 0;
for (int i = start; i < 10; i++) {
getNumbersWithUniqueDigits(curLevel + 1, depth, used, count);