当前位置: 首页 > news >正文

笑话网站域名jquery网站

笑话网站域名,jquery网站,免费建立自己的网站,linux做网站配置题目链接 Leetcode.1401 圆和矩形是否有重叠 Rating : 1709 题目描述 给你一个以 (radius, xCenter, yCenter)表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2),其中 (x1, y1)是矩形左下角的坐标,而 (x2, y2)是右上角的坐标。 如果圆和矩…

题目链接

Leetcode.1401 圆和矩形是否有重叠 Rating : 1709

题目描述

给你一个以 (radius, xCenter, yCenter)表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2),其中 (x1, y1)是矩形左下角的坐标,而 (x2, y2)是右上角的坐标。

如果圆和矩形有重叠的部分,请你返回 true,否则返回 false

换句话说,请你检测是否 存在(xi, yi),它既在圆上也在矩形上(两者都包括点落在边界上的情况)。

示例 1 :

在这里插入图片描述

输入:radius = 1, xCenter = 0, yCenter = 0, x1 = 1, y1 = -1, x2 = 3, y2 = 1
输出:true
解释:圆和矩形存在公共点 (1,0) 。

示例 2 :

输入:radius = 1, xCenter = 1, yCenter = 1, x1 = 1, y1 = -3, x2 = 2, y2 = -1
输出:false

示例 3 :

在这里插入图片描述

输入:radius = 1, xCenter = 0, yCenter = 0, x1 = -1, y1 = 0, x2 = 0, y2 = 1
输出:true

提示:

  • 1<=radius<=20001 <= radius <= 20001<=radius<=2000
  • −104<=xCenter,yCenter<=104-10^4 <= xCenter, yCenter <= 10^4104<=xCenter,yCenter<=104
  • −104<=x1<x2<=104-10^4 <= x1 < x2 <= 10^4104<=x1<x2<=104
  • −104<=y1<y2<=104-10^4 <= y1 < y2 <= 10^4104<=y1<y2<=104

分析:
在这里插入图片描述

(x0,y0)是矩形的中心点,将其作为坐标系的原点,便于处理。

c是矩形的中心 (x0,y0)到圆心(xCenter,yCenter)的向量。

a是矩形的中心 (x0,y0)(x2,y2)的向量。

b就是我们要求的 矩形 到 圆的向量,b = { c[0] - a[0] , c[1] - a[1] }

我们只需要判断 向量b的模长 是否小于等于 圆的半径radius即可(判断 矩形 是否和 圆 相交)。

还有一些特殊情况:

此时 c[0] - a[0] < 0,所以我们就可以把它看成 0,即b = { 0 , c[1] - a[1] },就变成我们实际上要求的向量 u

在这里插入图片描述

此时 c[1] - a[1] < 0,所以我们就可以把它看成 0,即b = { c[0] - a[0] ,0 },就变成我们实际上要求的向量 u

在这里插入图片描述

判断圆和矩形是否相交参考这个

时间复杂度 : O(1)O(1)O(1)

C++代码:

class Solution {
public:bool checkOverlap(int radius, int xCenter, int yCenter, int x1, int y1, int x2, int y2) {//求矩形中心点double x0 = (x1+x2)/2.0;double y0 = (y1+y2)/2.0;//求向量 c , a//用绝对值是为了让 x分量 和 y分量 都为正数,相当于将其映射到了第一象限(因为第一象限的坐标值都是正数)vector<double> c {abs(xCenter - x0),abs(yCenter - y0)};vector<double> a {x2 - x0,y2 - y0};//求向量 b 如果其中一个分量是负数的话,直接看作0vector<double> b {max(c[0] - a[0],0.0),max(c[1] - a[1],0.0)};return b[0] * b[0] + b[1] * b[1] <= radius * radius;}
};

Java代码:

class Solution {public boolean checkOverlap(int radius, int xCenter, int yCenter, int x1, int y1, int x2, int y2) {double x0 = (x1+x2)/2.0;double y0 = (y1+y2)/2.0;double[] c = new double[2];double[] a = new double[2];double[] b = new double[2];c[0] = Math.abs(xCenter - x0);c[1] = Math.abs(yCenter - y0);a[0] = x2 - x0;a[1] = y2 - y0;b[0] = Math.max(c[0] - a[0],0.0);b[1] = Math.max(c[1] - a[1],0.0);return b[0]*b[0] + b[1]*b[1] <= radius*radius;}
}
http://www.yayakq.cn/news/975683/

相关文章:

  • 网站建设代码出现乱码全网营销式网站
  • 产品查询展示型网站域名价格排行
  • 网站开发流程联系方式wordpress 会员 返佣
  • 网站建设常用的英文英文网站建设需要注意的五点问题
  • 离石做网站的公司vs做网站不显示图片
  • 有哪些可以做兼职的翻译网站吗用网址进入的游戏
  • 旅游网站开发意义和价值微信公众平台一定要找网站做吗
  • 辽宁省住房和城乡建设部网站主页网页设计实训报告怎么写
  • 遵义网站建设oadmin运营方案
  • 网站建设与什么专业有关做淘宝导航网站
  • 高端企业网站报价个体经营所得税核定征收2023
  • 滁州公司做网站做网站原价商品打个横线
  • 网站我优化郑州地推公司排名
  • 网站 简约台州关键词优化哪家好
  • 网站开发中所需要的绘图工具东莞网站优化哪里找
  • 南和县建设局黄页网站2015网站设计风格
  • 网站规划设计北京网站建设设计
  • 替朋友做网站app定制网站建设应有尽有
  • 网站域名在哪里申请网站建设 服务内容
  • 网站如何做QQ登录网站两边横幅怎么做
  • 网站建设设计咨询商城网站开发视频教程
  • 怀化住建部网站网站建设属于经营什么范围
  • html的制作网站的优点从做系统后以前的网站打不开了
  • 百度竞价代理商seo文章关键词怎么优化
  • 848给我做一下88网站建筑工程网教
  • 网站开发网站运营怎么做怎么把网站设置为信任网站
  • 做app网站需要什么技术支持网站设计 尺寸
  • 网站解析后 问题企业做网站要多少钱
  • 校园二手市场网站建设方案海城建设网站
  • 视频转动图在线制作网站网页设计实验报告书