65. LeetCode 748. 最短完整词

2019-02-15  本文已影响13人  月牙眼的楼下小黑

licenseplate 转化成一个标准字典: key 为小写字母, val 为字母出现频次。对单词列表里的每个单词逐一判断即可

class Solution(object):
    def numberOfBoomerangs(self, points):
        """
        :type points: List[List[int]]
        :rtype: int
        """
        n = len(points)
        dist = [[0]*len(points) for _ in range(n)]
        for i in range(n):
            for j in range(n):
                dx = points[i][0] - points[j][0]
                dy = points[i][1] - points[j][1]
                dist[i][j] = dx**2 + dy**2   
        result = 0
        for i in range(n):
            ctr = {}
            for j in range(n):
                if ctr.get(dist[i][j], 0) == 0:
                    ctr[dist[i][j]] = 1
                else:
                    ctr[dist[i][j]] += 1
            for key, val in ctr.items():
                num = 1
                if val >= 2:
                    for i in range(val - 1, val + 1):
                        num *= i
                    result += num
        return result

暂略。

上一篇 下一篇

猜你喜欢

热点阅读