首页 > 其他分享 >24th 1828. 统计一个圆中点的数目

24th 1828. 统计一个圆中点的数目

时间:2023-01-24 23:44:50浏览次数:53  
标签:1828 圆中点 int circleX length points queries pointY 24th

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

相关文章