亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

357. Count Numbers with Unique Digits -Medium

2019-11-11 05:12:04
字體:
來源:轉載
供稿:網友

Question

Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n.

給出一個非負整數n,在 0 <= x <10 ^n 的范圍內,統計每一位都不重復的數字的個數

Example

Given n = 2, return 91. (The answer should be the total numbers in the range of 0 ≤ x < 100, excluding [11,22,33,44,55,66,77,88,99])

Solution

想到的第一種方法是回溯,在個位數遍歷1 - 9,在其他位數上遍歷0-9(當然要注意已使用過的數字不能再使用),終止條件為當前的數字大于最大的數字(10 ^ n)

class Solution(object): def countNumbersWithUniqueDigits(self, n): """ :type n: int :rtype: int """ count = 1 # 因為個位數不能有0,所以個位數的循環放到回溯外面,分別統計一次個位數為 1 - 9 的元素不重復數字個數 for i in range(1, 10): selectable = list(range(10)) selectable.remove(i) count += self.solve(list(range(2, 10)), pow(10, n), i) return count def solve(self, selectable, max_num, current_num): count = 0 # 只要小于最大數字,都保存統計,否則返回 if current_num < max_num: count += 1 else: return count # 遍歷 0 - 9 數字 for index_s, s in enumerate(selectable): count += self.solve(selectable[:index_s] + selectable[index_s + 1:], max_num, current_num * 10 + s) return count

不過得到了 Time Limit Exceeded

第二種方法是動態規劃。

位數 不重復元素個數 總數
1 10 10
2 9 * 9 91
3 9 * 9 * 8 739
4 9 * 9 * 8 * 7 986410

考慮以上規律,我們只需保存兩個變量,一個是上一個位數的不重復元素個數dp,另一個是可選數字個數selectable,這樣我們就可以得到遞推式 dp = dp * selectable,同時我們額外在維護一個總數就可以了

class Solution(object): def countNumbersWithUniqueDigits(self, n): """ :type n: int :rtype: int """ if n == 0: return 1 selectable = 9 # 當前可選項個數 dp = 9 # 保存當前位數的元素不重復數字個數(不包括個位數) res = 10 # 元素不重復數字的總個數 # 個位數的情況已經統計完成了,所以只需要統計n - 1次 for _ in range(n - 1): if selectable > 0: dp = dp * selectable res += dp selectable -= 1 return res
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
热久久99这里有精品| 92福利视频午夜1000合集在线观看| 精品久久久久久久久久久久| 久久精品国产91精品亚洲| 57pao国产精品一区| 亚洲欧美国产精品va在线观看| 久久久在线观看| 91久久久久久久久久| 国产精品美女视频网站| 日韩av在线免费看| 最近2019年好看中文字幕视频| 2019亚洲男人天堂| 久久国产精品久久精品| 成人免费淫片视频软件| 欧美日韩亚洲天堂| 国产精品电影一区| 88国产精品欧美一区二区三区| 亚洲天堂av图片| 在线亚洲欧美视频| 国产91精品久久久| 欧美性xxxxhd| 国产成人精品一区二区在线| 欧美激情视频免费观看| 欧美日韩美女在线观看| 亚洲女同精品视频| 久久久久久久久中文字幕| 欧美尺度大的性做爰视频| 久久电影一区二区| 国产视频久久久久久久| 欧美激情aaaa| 日韩禁在线播放| 精品国内产的精品视频在线观看| 欧美精品一区二区免费| 欧美精品久久久久久久| 国产精品pans私拍| 久久久久久久久久久网站| 日本午夜人人精品| 国内揄拍国内精品| 2020欧美日韩在线视频| 久久久久久久久久久人体| 亚洲欧美日韩图片| 亚洲国产成人在线视频| 亚洲国产成人在线播放| 日韩最新中文字幕电影免费看| 国产精品视频午夜| 亚洲精品福利在线观看| 亚洲成人av片在线观看| 97香蕉超级碰碰久久免费的优势| 亚洲欧洲美洲在线综合| 在线观看精品自拍私拍| 亚洲激情第一页| 日韩av男人的天堂| 亚洲美女在线观看| 亚洲理论在线a中文字幕| 欧美怡红院视频一区二区三区| 91沈先生在线观看| 77777少妇光屁股久久一区| 欧美xxxx做受欧美.88| 在线播放日韩欧美| 国产精品日韩在线观看| 亚洲精品福利免费在线观看| 成人国产精品色哟哟| 亚洲性生活视频在线观看| 欧美成人精品一区二区三区| 91在线中文字幕| 精品视频偷偷看在线观看| 欧美激情综合色综合啪啪五月| 久久国产精品久久国产精品| 中文字幕亚洲色图| 日韩免费在线观看视频| 在线国产精品视频| 精品日韩美女的视频高清| 欧美一级高清免费| 国产精品极品美女粉嫩高清在线| 国产午夜精品美女视频明星a级| 精品久久久久久电影| 欧美性xxxx极品hd满灌| 久热精品视频在线观看一区| 欧美日韩国产综合新一区| 日韩av在线不卡| 国产精品美女在线观看| 日韩在线激情视频| 久久久在线视频| 亚洲美女久久久| 欧洲美女免费图片一区| 91av视频在线播放| 国产女人精品视频| 色樱桃影院亚洲精品影院| 日韩电影免费观看中文字幕| 青青草原一区二区| 日本精品免费一区二区三区| 日韩免费电影在线观看| 91福利视频网| 国产精品视频一| 一区二区三区视频免费在线观看| 国产亚洲精品久久久优势| 51精品国产黑色丝袜高跟鞋| 色av中文字幕一区| 欧美激情视频播放| 欧美激情第6页| 日韩欧美中文第一页| 97碰碰碰免费色视频| 欧美国产日本在线| 中文日韩在线观看| 中文字幕亚洲在线| 欧美日韩成人在线播放| 97在线观看免费| 欧美精品久久久久久久久久| 亚洲有声小说3d| 美女av一区二区三区| 精品国产欧美成人夜夜嗨| 欧美日韩在线视频首页| 日韩资源在线观看| 亚洲美女激情视频| 97av在线影院| 日本高清视频一区| 成人久久久久久| 久久久久久国产三级电影| 91国偷自产一区二区三区的观看方式| 国产成人aa精品一区在线播放| 黑人精品xxx一区一二区| 久久精品视频在线播放| 欧美日韩成人黄色| 亚洲国产成人精品女人久久久| 2020国产精品视频| 日韩免费观看av| 欧美一级黑人aaaaaaa做受| 在线亚洲男人天堂| 日韩网站免费观看高清| 欧美一级淫片播放口| 少妇av一区二区三区| 久久久成人av| 欧美精品做受xxx性少妇| 97视频人免费观看| 国内免费精品永久在线视频| 欧美国产精品va在线观看| 久久人91精品久久久久久不卡| 国产日韩欧美中文在线播放| 亚洲国产欧美一区| 亚洲成人av在线播放| 伊人久久久久久久久久| 国产日韩在线视频| 91精品免费久久久久久久久| 国产亚洲欧美日韩精品| 综合网日日天干夜夜久久| 91精品美女在线| 色偷偷噜噜噜亚洲男人| 欧美一二三视频| 久久免费精品日本久久中文字幕| 日韩在线欧美在线| 97视频在线看| 深夜福利亚洲导航| 国产精品视频一| 精品久久在线播放| 亚洲美女在线视频| 91手机视频在线观看| 欧美大肥婆大肥bbbbb| 尤物yw午夜国产精品视频明星| 日韩中文字幕在线看| 久久久久久久久网站| 久久99精品久久久久久青青91| 亚洲免费福利视频| 日韩极品精品视频免费观看| 国产精品一区二区三区免费视频|