【每日一题Day97】LC1828统计一个圆中点的数目 | 模拟
admin
2024-05-16 11:34:42
0

统计一个圆中点的数目【LC1828】

给你一个数组 points ,其中 points[i] = [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。

同时给你一个数组 queries ,其中 queries[j] = [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。

对于每一个查询 queries[j] ,计算在第 j 个圆 点的数目。如果一个点在圆的 边界上 ,我们同样认为它在圆

请你返回一个数组 answer ,其中 answer[j]是第 j 个查询的答案。

看到这题的时候我脑子里闪过了许多想法:离线查询,二维累加和数组……但是都不行,还是暴力吧

  • 思路:双重循环计算每个点到圆点的距离,如果小于等于半径,则证明在圆内

  • 实现

    class Solution {public int[] countPoints(int[][] points, int[][] queries) {int n = queries.length;int[] ans = new int[n];for (int i = 0; i < n; i++){for (int[] p : points){double dis = Math.pow(p[0] - queries[i][0], 2) + Math.pow(p[1] - queries[i][1], 2);if (dis <= Math.pow(queries[i][2], 2)){ans[i]++;}}}return ans;}
    }
    
    • 复杂度
      • 时间复杂度:O(n∗m)O(n*m)O(n∗m),n和m分别为点的数量和圆的数量
      • 空间复杂度:O(1)O(1)O(1)

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...