package com.wsq.huishuo;
public class CountNumbersWithUniqueDigits {
private int uniqueNum = 0;
public int countNumbersWithUniqueDigits(int n) {
int[] availableArr = new int[10];
int preNum = 0;
findUniqueDigits(availableArr, n, preNum);
return uniqueNum;
}
private void findUniqueDigits(int[] availableArr, int n, int preNum) {
if(n == 0) {
uniqueNum++;
return;
}
for(int i = 0; i < availableArr.length; ++i) {
if(availableArr[i] == 0) {
int tmpN = (int)(preNum + i * Math.pow(10, n - 1));
if(tmpN != 0) {
availableArr[i] = 1;
}
findUniqueDigits(availableArr, n - 1, tmpN);
availableArr[i] = 0;
}
}
}
public static void main(String[] args) {
int n = 2;
CountNumbersWithUniqueDigits cn = new CountNumbersWithUniqueDigits();
int ans = cn.countNumbersWithUniqueDigits(n);
System.out.println(ans);
}
}