24th 1828. 统计一个圆中点的数目
给你一个数组 points
,其中 points[i] = [xi, yi]
,表示第 i
个点在二维平面上的坐标。多个点可能会有 相同 的坐标。
同时给你一个数组 queries
,其中 queries[j] = [xj, yj, rj]
,表示一个圆心在 (xj, yj)
且半径为 rj
的圆。
对于每一个查询 queries[j]
,计算在第 j
个圆 内 点的数目。如果一个点在圆的 边界上 ,我们同样认为它在圆 内 。
请你返回一个数组 answer
,其中 answer[j]
是第 j
个查询的答案。
输入:points = [[1,3],[3,3],[5,3],[2,2]], queries = [[2,3,1],[4,3,1],[1,1,2]]
输出:[3,2,2]
解释:所有的点和圆如上图所示。
queries[0] 是绿色的圆,queries[1] 是红色的圆,queries[2] 是蓝色的圆。
class Solution {
public int[] countPoints(int[][] points, int[][] queries) {
int points_length = points.length;
int queries_length = queries.length;
int[] ans = new int[queries_length];
for(int i = 0; i < queries_length; i++){
int circleX = queries[i][0];
int circleY = queries[i][1];
int circleRadius = queries[i][2];
for(int j = 0; j < points_length; j++){
int pointX = points[j][0];
int pointY = points[j][1];
if((circleX - pointX) * (circleX - pointX) + (circleY - pointY) * (circleY - pointY)
<= circleRadius * circleRadius){
ans[i]++;
}
}
}
return ans;
}
}
标签:1828,圆中点,int,circleX,length,points,queries,pointY,24th
From: https://www.cnblogs.com/rickierun/p/17066538.html