力扣1401. 圆和矩形是否有重叠

用矢量计算:

cpp 复制代码
class Solution {
public:
    bool checkOverlap(int radius, int xCenter, int yCenter, int x1, int y1, int x2, int y2) {
        //矩形中心
        float Tx=(float)(x1+x2)/2;
        float Ty=(float)(y1+y2)/2;
        //强行进行对称操作,只考虑第一象限
        if(xCenter<Tx){
            xCenter=2*Tx-xCenter;
        }
        if(yCenter<Ty){
            yCenter=2*Ty-yCenter;
        }
        //圆心到对角顶点的距离
        int rDTx=xCenter-x2;
        int rDTy=yCenter-y2;
        //四种情况
        if(rDTx>0&&rDTy>0){
            return rDTx*rDTx+rDTy*rDTy<=radius*radius;
        }
        else if(rDTx<=0&&rDTy>0){
            return rDTy<=radius;
        }
        else if(rDTy<=0&&rDTx>0){
            return rDTx<=radius;
        }
        else if(rDTx<=0&&rDTy<=0){
            return true;
        }
        return false;
    }
};
相关推荐
深栈15 分钟前
机器学习:支持向量机
算法·机器学习·支持向量机
刘海东刘海东25 分钟前
结构型智能科技理论研究(草稿)
科技·算法
C嘎嘎嵌入式开发36 分钟前
(10)100天python从入门到拿捏《Python中的数据结构与自定义数据结构》
数据结构·python·算法
熬了夜的程序员37 分钟前
【LeetCode】69. x 的平方根
开发语言·算法·leetcode·职场和发展·动态规划
Niuguangshuo1 小时前
音频特征提取算法介绍
算法·音视频
fengfuyao9851 小时前
基于MATLAB的匈牙利算法实现任务分配
算法·数学建模·matlab
CoovallyAIHub1 小时前
超详细链式插补 (MICE) 多元插补:机器学习模型的高级缺失数据处理
算法·机器学习·计算机视觉
明天会有多晴朗1 小时前
C语言入门教程(第6讲):函数——让程序学会“分工合作”的魔法
c语言·开发语言·算法
玖釉-2 小时前
三维模型数据结构与存储方式解析
数据结构·算法·图形渲染
草莓熊Lotso2 小时前
《算法闯关指南:优选算法--二分查找》--17.二分查找(附二分查找算法简介),18. 在排序数组中查找元素的第一个和最后一个位置
开发语言·c++·算法