阅读 151

程序查找对 (i, j) 的数量,使得 Python 中的第 i 个和第 j 个元素相同

假设我们有一个数组 nums。我们必须找到有多少对 (i,j) 使得 nums[i] = nums[j] 但 i 与 j 不同。

因此,如果输入类似于 nums = [1,3,1,3,5],那么输出将是 4,因为这些对是 (0,2)、(2,0)、(1,3) 和(3,1)

示例

让我们看看以下实现以获得更好的理解 -


def solve(nums):
   d = {}
   for c in nums:
      d[c] = d[c] + 1 if c in d.keys() else 1   res = 0   for c in (x for x in d if d[x] > 1):
      res += (d[c] * (d[c]-1))

   return res

nums = [1,3,1,3,5]print(solve(nums))


输入


[1,3,1,3,5]

输出结果

4


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐