首页 > 其他分享 >力扣每日一题2023.1.24---1828. 统计一个圆中点的数目

力扣每日一题2023.1.24---1828. 统计一个圆中点的数目

时间:2023-01-24 00:55:50浏览次数:56  
标签:24 arr 1828 int --- length points queries 圆心

给你一个数组 points ,其中 points[i] = [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。
同时给你一个数组 queries ,其中 queries[j] = [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。
对于每一个查询 queries[j] ,计算在第 j 个圆 内 点的数目。如果一个点在圆的 边界上 ,我们同样认为它在圆 内 。
请你返回一个数组 answer ,其中 answer[j]是第 j 个查询的答案。

示例 1:
输入: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] 是蓝色的圆。

示例 2:
输入:points = [[1,1],[2,2],[3,3],[4,4],[5,5]], queries = [[1,2,2],[2,2,2],[4,3,2],[4,3,3]]
输出:[2,3,2,4]
解释:所有的点和圆如上图所示。
queries[0] 是绿色的圆,queries[1] 是红色的圆,queries[2] 是蓝色的圆,queries[3] 是紫色的圆。

提示:
    1 <= points.length <= 500
    points[i].length == 2
    0 <= x​​​​​​i, y​​​​​​i <= 500
    1 <= queries.length <= 500
    queries[j].length == 3
    0 <= xj, yj <= 500
    1 <= rj <= 500
    所有的坐标都是整数。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/queries-on-number-of-points-inside-a-circle
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

实在是想不出啥好一点的优化方案了,只好战战兢兢地暴力写了一遍,结果过了。

看了眼官解,结果也是暴力,emmm。。。

用到的知识点只有判断一个点是否在圆内的条件

(1)圆心到这个点的距离小于圆的半径,则这个点在圆内;
(2)圆心到这个点的距离等于圆的半径,则这个点在圆周上;
(3)圆心到这个点的距离大于圆的半径,则这个点在圆外。

代码如下:

class Solution {
    public int[] countPoints(int[][] points, int[][] queries) {
        int[] res = new int[queries.length];
        for (int i = 0; i < queries.length; ++i) {
            int x = queries[i][0];
            int y = queries[i][1];
            int r = queries[i][2];
            for (int[] arr : points) {
                if ((x - arr[0]) * (x - arr[0]) + (y - arr[1]) * (y - arr[1]) <= r * r) {
                    res[i] ++;
                }
            }
        }
        return res;
    }
}

运行结果

 

标签:24,arr,1828,int,---,length,points,queries,圆心
From: https://www.cnblogs.com/allWu/p/17065726.html

相关文章

  • POJ--2386 Lake Counting(DFS)
    记录0:332023-1-24http://poj.org/problem?id=3617reference:《挑战程序设计竞赛(第2版)》2.2.3p43DescriptionFJisabouttotakehisN(1≤N≤2,000)cows......
  • 8、CSS权威指南--第四章(p121)值和单位
     4.1关键字、字符串和其他文本值样式表中的一切都是文本,但是有些类型的值表示的是字符串本省,而不是数字或颜色等。表示字符串本身的值有URL和让人难以置信的图像。4......
  • uni-app黑马优购项目学习记录
    uni-app黑马优购项目学习记录(上):https://ailjx.blog.csdn.net/article/details/124192676?spm=1001.2014.3001.5502uni-app黑马优购项目学习记录(下):https://ailjx.blog.csdn......
  • Day06-字符串操作
    一、字符串的下标(索引)#获取正负索引数据sub_str=str_data[1] #y#[正索引]0开始取索引的格式 下标 获取单个数据print(sub_str)sub_str=str_data[-2] #o......
  • 力扣---2. 两数相加
    给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表......
  • [1]-bwapp-文件上传无法保存-问题&解决方案
    一、问题描述1.参考apache2404解决apache2文件配置结构文件无法移动更改权限2.本机环境物理机:windows10虚拟化软件:vmware17虚拟系统:centos7.9docker容器:Do......
  • 2023-01-23 初二
    2023-01-23周一今日可能比较枯燥,就是工作,今天市集人流稍微比昨天少点。想起昨天有个比较有趣的事,就是阿涛让几个围观的小朋友帮他拉客。几个小朋友应该是看上套圈圈的......
  • CS144-Lab1-StreamReassembler
    lab地址:lab1-doc代码实现:lab1-code1.目标TCP一个很重要的特性是可以实现顺序、无差错、不重复和无报文丢失的流传输。在lab0中我们已经实现了一个字节流ByteSt......
  • [ 7--MQ学习 | 青训营笔记]
    这是我参与「第五届青训营」伴学笔记创作活动的第7天概述消息队列(MessageQueue,简称MQ),指保存消息的一个容器,本质是个队列。消息(Message)是指在应用之间传送的数据,消息......
  • 力扣---1221. 分割平衡字符串
    平衡字符串中,'L'和'R'字符的数量是相同的。给你一个平衡字符串s,请你将它分割成尽可能多的子字符串,并满足:   每个子字符串都是平衡字符串。返回可以通过分割得到的......