leetcode 简单 第一百零一题 回旋镖的数量

Posted 丁壮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 简单 第一百零一题 回旋镖的数量相关的知识,希望对你有一定的参考价值。

给定平面上 n 对不同的点,“回旋镖” 是由点表示的元组 (i, j, k) ,其中 i 和 j 之间的距离和 i 和 k 之间的距离相等(需要考虑元组的顺序)。

找到所有回旋镖的数量。你可以假设 n 最大为 500,所有点的坐标在闭区间 [-10000, 10000] 中。

示例:

输入:
[[0,0],[1,0],[2,0]]

输出:
2

解释:
两个回旋镖为 [[1,0],[0,0],[2,0]][[1,0],[2,0],[0,0]]


class Solution:
    def numberOfBoomerangs(self, points):
        """
        :type points: List[List[int]]
        :rtype: int
        """
        
        tmp = 0
        points_len = len(points)
        for i in range(points_len):
            Dict = {}
            for j in range(points_len):
                if j == i:
                    continue
                key = str(pow(points[i][0] - points[j][0], 2) + pow(points[i][1] - points[j][1], 2))
                
                if key in Dict:
                    Dict[key] +=1
                else:
                    Dict[key] = 1
            for p in Dict:
                if Dict[p] > 1:
                    tmp += Dict[p] * (Dict[p] -1)
        return tmp

 




以上是关于leetcode 简单 第一百零一题 回旋镖的数量的主要内容,如果未能解决你的问题,请参考以下文章

leetcode中等447回旋镖的数量

LeetCode 678. 有效的括号字符串(贪心,动规) / 4. 寻找两个正序数组的中位数(二分,关键题) / 447. 回旋镖的数量

Leetcode刷题100天—447. 回旋镖的数量( 哈希表)—day37

Leetcode刷题100天—447. 回旋镖的数量( 哈希表)—day37

LeetCode 447 回旋镖的数量[Map] HERODING的LeetCode之路

第一百零一天