美文网首页数据结构和算法分析数据结构与算法
Leetcode-1828 统计一个圆中点的数目

Leetcode-1828 统计一个圆中点的数目

作者: itbird01 | 来源:发表于2021-11-04 07:00 被阅读0次

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

解题思路

1.分析题意,其实很简单,就是给了一堆点,然后给了若干个圆,求每个圆中包含这些点的个数
2.题意简化之后,我们需要找到如果判断一个点是否在一个圆内,其实很简单,判断两点距离是是否小于半径R就可以了
3.初始化结果数据
4.求取每个圆的中心坐标x/y,以及半径R
5.判断每个点,是否包含在此圆内

解题遇到的问题

后续需要总结学习的知识点

##解法1
class Solution {
    public int[] countPoints(int[][] points, int[][] queries) {
        // 分析题意,其实很简单,就是给了一堆点,然后给了若干个圆,求每个圆中包含这些点的个数
        // 题意简化之后,我们需要找到如果判断一个点是否在一个圆内,其实很简单,判断两点距离是是否小于半径R就可以了
        // 初始化结果数据
        int[] ans = new int[queries.length];
        for (int i = 0; i < queries.length; i++) {
            //求取每个圆的中心坐标x/y,以及半径R
            int yuanX = queries[i][0];
            int yuanY = queries[i][1];
            int yuanR = queries[i][2];

            for (int j = 0; j < points.length; j++) {
                int x = points[j][0];
                int y = points[j][1];
                //判断每个点,是否包含在此圆内
                if (Math.pow(x - yuanX, 2) + Math.pow(y - yuanY, 2) <= yuanR
                        * yuanR) {
                    ans[i] += 1;
                }
            }
        }
        return ans;
    }
}

相关文章

网友评论

    本文标题:Leetcode-1828 统计一个圆中点的数目

    本文链接:https://www.haomeiwen.com/subject/vfdfzltx.html