第一百零一天

Posted zhanjianhai

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 简单 第一百零一题 回旋镖的数量

客快物流大数据项目(一百零一):实时OLAP开发

Android开发笔记(一百零一)滑出式菜单

大数据必学Java基础(一百零一):BaseDAO抽取

测开之路一百零一:jquery文字特效动画方法链

一个屌丝程序猿的人生(一百零一)