leetcode1399

 1 class Solution:
 2     def calSum(self,x):
 3         s = str(x)
 4         sums = 0
 5         for j in range(len(s)):
 6             sums += int(s[j])
 7         return sums
 8         
 9     def countLargestGroup(self, n: int) -> int:
10         dic = dict()
11         for i in range(1,n+1):
12             k = self.calSum(i)
13             if k not in dic:
14                 dic[k] = 1
15             else:
16                 dic[k] += 1
17         tp = sorted(dic.items(), key=lambda x: x[1], reverse=True)
18         maxlen = tp[0][1]
19         count = 0
20         for i in range(len(tp)):
21             if tp[i][1] == maxlen:
22                 count += 1
23             else:
24                 break
25         return count

算法思路:hash,字典按值排序。

猜你喜欢

转载自www.cnblogs.com/asenyang/p/12635710.html
今日推荐