题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/queries-on-number-of-points-inside-a-circle
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
核心想法是 点到圆心的距离是否小于或等于圆的半径!
class Solution:
def countPoints(self, points: [[int]], queries: [[int]]) -> [int]:
listx=[] #设定的point中x的列表
listy=[] #设定的point中y的列表
dict1={} #设定的queries列表转换为字典
listans=[] #最终答案列表
for x , y in points:
listx.append(x)
listy.append(y)
for c ,d in enumerate(queries):
dict1[c]=d
for i in range(len(dict1)):
def Cum():#内置一个函数检验有几个点在一个圆i内 返回值是有几个点在此圆内
aum =0
for j in range(len(listx)):
if ((listx[j]-dict1[i][0])**2+(listy[j]-dict1[i][1])**2)**(1/2) <= dict1[i][2] :
aum+=1
return aum
listans.append(Cum())
return listans