1 class Solution 2 { 3 public: 4 int countNumbersWithUniqueDigits(int n) 5 { 6 if(n >= 11) return 8877691; 7 vector<int> nums(11); 8 int res = 0; 9 nums[0] = 1; 10 nums[1] = 9; 11 nums[2] = 9*9; 12 nums[3] = 9*9*8; 13 nums[4] = 9*9*8*7; 14 nums[5] = 9*9*8*7*6; 15 nums[6] = 9*9*8*7*6*5; 16 nums[7] = 9*9*8*7*6*5*4; 17 nums[8] = 9*9*8*7*6*5*4*3; 18 nums[9] = 9*9*8*7*6*5*4*3*2; 19 nums[10] =9*9*8*7*6*5*4*3*2*1; 20 for(int i = 0;i <= n;i ++) res += nums[i]; 21 return res; 22 } 23 };
原文:https://www.cnblogs.com/yuhong1103/p/12757585.html