题目:https://leetcode-cn.com/problems/count-numbers-with-unique-digits/submissions/
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10^n 。
1. 首先想到的是暴力版本:从0开始遍历到 10^n,判断每个数字的每一位是否被重复,没有则计数+1; 显然这种方法遇到大量数据时,会超时。时间复杂度 O(10^n);
/**
* @param {number} n
* @return {number}
*/
var countNumbersWithUniqueDigits = function(n) {
let count=0;
const isRepeat = (numberStr)=>{
if(numberStr.length===1) return false;
for(let i=0; i<numberStr.length;i++){
const subStr=numberStr.slice(i+1);
if(subStr.includes(numberStr[i])) return true;
}
return false;
}
for(let i=0;i<10**n; i++){
if(!isRepeat(i