首页 > 试题广场 >

矩形重叠

[编程题]矩形重叠
  • 热度指数:1042 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个矩形,分别以四个数字 [x1,y1,x2,y2] 表示,其中 (x1,y1) 表示矩形左下角,(x2,y2) 表示矩形右上角,矩形的上下边平行于 x 轴,左右边平行于 y 轴。
如果两个矩形相交的面积为正,则两矩形重叠。如果重叠则输出 true ,否则输出 false

数据范围:矩形的四个角坐标满足
示例1

输入

[0,0,2,2],[2,2,4,4]

输出

false
示例2

输入

[0,0,2,2],[1,1,3,3]

输出

true
import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param r1 int整型一维数组 
     * @param r2 int整型一维数组 
     * @return bool布尔型
     */
    public boolean overlapRec (ArrayList<Integer> r1, ArrayList<Integer> r2) {
        // write code here
        if(r1.get(2) <= r2.get(0) || r1.get(0) >= r2.get(2) || r1.get(3) <= r2.get(1) || r1.get(1) >= r2.get(3)){
            return false;
        }
        return true;
    }
}

发表于 2025-01-11 10:52:13 回复(0)