Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
给出一列数,问满足nums[i] == nums[j] and i < j的i,j pair有多少个,其实就是计算每种数字的出现次数,然后求其中选2个的组合数,再求和,直接用python的Counter

 1 #1512
 2 #Runtime: 21 ms (Beats 23.47%)
 3 #Memory: 13.3 MB (Beats 40.52%)
 4 
 5 class Solution(object):
 6     def numIdenticalPairs(self, nums):
 7         """
 8         :type nums: List[int]
 9         :rtype: int
10         """
11         return sum(i * (i - 1) // 2 for i in Counter(nums).values())

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理