【刷题-LeetCode】223. Rectangle Area
2024-10-19 19:07:53
- Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane.
Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.
Example:
Input: A = -3, B = 0, C = 3, D = 4, E = 0, F = -1, G = 9, H = 2
Output: 45
Note:
Assume that the total area is never beyond the maximum possible value of int.
解
计算公式为:S = 矩形1的面积 + 矩形2的面积 - 相交部分的面积
相交的宽 = 矩形1的宽 + 矩形2的宽 - 实际图形的宽
相交的高计算类似
如果相交部分的高或者宽小于0,说明没有相交
题目原本定义的int
会溢出???????
typedef long long int LL;
class Solution {
public:
LL computeArea(LL A, LL B, LL C, LL D, LL E, LL F, LL G, LL H) {
LL S = (C-A)*(D-B) + (G-E)*(H-F);
LL d = abs(C - A) + abs(G - E) - abs(max(G, C) - min(A, E));
LL h = abs(D - B) + abs(H - F) - abs(max(D, H) - min(F, B));
return S - (d > 0 && h > 0 ? d * h : 0);
}
};
最新文章
- [CC]手动点云分割
- MATLAB地图工具箱学习总结(四)自定义投影
- js中Json 对象,Json字符串转换
- 四元数quaternion
- Java提高篇——通过分析 JDK 源代码研究 Hash 存储机制
- Google的Bigtable学习笔记(不保证正确性)
- android 入门 005(登录记住)
- cefSharp在XP下使得程序崩溃记录
- javascript对象事件绑定方法
- (剑指Offer)面试题31:连续子数组的最大和
- TweenMax动画库学习(六)
- 使用NODEJS+REDIS开发一个消息队列以及定时任务处理
- (copy)赋值构造函数的4种调用时机or方法
- input type='file' 上传文件 判断图片的大小是否合格与witdh 和 height 是否合格
- TensorRT&;Sample&;Python[end_to_end_tensorflow_mnist]
- Extjs 项目中常用的小技巧,也许你用得着(3)
- Python 全栈开发四 python基础 函数
- 20165326 java第八周学习笔记
- Java实现给定字符串的倒序输出
- MHA之Binlog Dump (GTID)僵尸进程清理
热门文章
- ConfigParser模块,主要应用于对php.ini等格式的配置文件内容读取和生成。删改较少用
- HTTPS握手-混合加解密过程
- 13 - Vue3 UI Framework - 完善官网
- ffmpeg(1)之libavutil/common.h:30:2: error: missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
- 【LeetCode】728. Self Dividing Numbers 解题报告(Python)
- 【LeetCode】677. Map Sum Pairs 解题报告(Python & C++)
- 一站式元数据治理平台——Datahub入门宝典
- 【嵌入式】arduino常用函数
- 【入门到精通】❤️「Java工程师全栈知识路线」
- 制作四个选项卡页 Tab,用户可以通过切换不同的 Tab 页查看不同类别的新闻信息,每个 Tab 有对应的内容版块,点击某个选项卡时,显示对应的内容版块,隐藏其他内容版块,并且为了突出当前的选项卡,还