为什么可以这样做?参考如下:
?...这是一道数学题,很容易发现规律:
如果 n = 1,ans = 10;
如果 n = 2,考虑两位数都不相同,有 9 * 9 = 81 种情况(第一个数字不能以 0 开头,第二个数字可以有 0),再加上...中的默认字典数组,即 collections.defalutdict(list),key 是以 num 为结尾的 num,value 是一个列表(默认为空),记录以 num 为结尾的子序列的长度列表。...如我们遍历到第二个 3 时,字典中的 key = 3 应该保存的是 { 3: [1,3] }(一个子序列是 [1,2,3],长度为 3;另一个子序列是 [3],长度为 1)。...还是以 nums = [1,2,3,3,4,4,5,6] 为例,字典数组中的变化情况是:
initial {}
1 {0: [], 1: [1]}
2 {0: [], 1: [], 2: [2]}
3