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;
}
}
网友评论