-
标签:
哈希表
-
难度:
简单
- 题目描述


- 我的解法
将 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
- 其他解法
暂略。
网友评论