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

郎溪网站建设四川建设集团有限公司网站

郎溪网站建设,四川建设集团有限公司网站,国内网页设计培训,at结尾网站华为OD机试题库《C》限时优惠 9.9 华为OD机试题库《Python》限时优惠 9.9 华为OD机试题库《JavaScript》限时优惠 9.9 针对刷题难,效率慢,我们提供一对一算法辅导, 针对个人情况定制化的提高计划(全称1V1效率更高)。 看…

华为OD机试题库《C++》限时优惠 9.9

华为OD机试题库《Python》限时优惠 9.9

华为OD机试题库《JavaScript》限时优惠 9.9

针对刷题难,效率慢,我们提供一对一算法辅导, 针对个人情况定制化的提高计划(全称1V1效率更高)。

看不懂有疑问需要答疑辅导欢迎私VX: code5bug

华为OD机试真题

题目描述

给出3组点坐标(x,y,w,h),-1000<x,y<1000,w,h为正整数。

(x,y,w,h)表示平面直角坐标系中的一个矩形:

x,y为矩形左上角坐标点,向右w,向下h。

(x,y,w,h)表示x轴(x,x+w)和y轴(y,y-h)围成的矩形区域

(0,0,2,2)表示x轴(0,2)和y轴(0,-2)围成的矩形区域:

(3,5,4,6)表示x轴(3,7)和y轴(5,-1)围成的矩形区域

求3组坐标构成的矩形区域重合部分的面积。

输入描述

3行输入分别为3个矩形的位置,分别代表“左上角x坐标”,“左上角y坐标”,“矩形宽”,“矩形高” -1000 <= x,y < 1000

输出描述

输出3个矩形相交的面积,不相交的输出0。

示例1

输入:
1 6 4 4
3 5 3 4
0 3 7 3输出:
2

img

题解

这道题目属于计算几何矩形重叠问题。具体来说,它要求计算三个矩形的重叠部分的面积。这涉及到矩形之间的交集计算,属于基本的几何问题。

解题思路

要计算三个矩形的重叠面积,可以按照以下步骤进行:

  1. 理解矩形表示:每个矩形由左上角坐标 (x, y)、宽度 w 和高度 h 表示。矩形的范围在 x 轴上是 [x, x + w),在 y 轴上是 [y - h, y)。
  2. 计算三个矩形的交集
    • 交集的左边界是三个矩形右边界的最大值(即 max(x1, x2, x3))。
    • 交集的右边界是三个矩形右边界的最小值(即 min(x1 + w1, x2 + w2, x3 + w3))。
    • 交集的上边界是三个矩形上边界的最小值(即 min(y1, y2, y3))。
    • 交集的下边界是三个矩形下边界的最大值(即 max(y1 - h1, y2 - h2, y3 - h3))。
  3. 判断交集是否存在:如果左边界小于右边界且下边界小于上边界,则交集存在;否则,交集面积为 0。
  4. 计算交集面积:如果交集存在,面积为 (右边界 - 左边界) * (上边界 - 下边界)

时间复杂度

  • 读取输入的时间复杂度是 O(1),因为输入是固定的三行。
  • 计算边界和判断交集的时间复杂度是 O(1),因为只有三个矩形。
  • 总体时间复杂度是 O(1)。

空间复杂度

  • 空间复杂度是 O(1),因为只使用了固定数量的变量来存储矩形的参数和计算结果。

Java

import java.util.Scanner;
/*** @author code5bug*/
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取三个矩形的参数int x1 = scanner.nextInt();int y1 = scanner.nextInt();int w1 = scanner.nextInt();int h1 = scanner.nextInt();int x2 = scanner.nextInt();int y2 = scanner.nextInt();int w2 = scanner.nextInt();int h2 = scanner.nextInt();int x3 = scanner.nextInt();int y3 = scanner.nextInt();int w3 = scanner.nextInt();int h3 = scanner.nextInt();// 计算三个矩形的交集的边界int top = Math.min(Math.min(y1, y2), y3);int left = Math.max(Math.max(x1, x2), x3);int bottom = Math.max(Math.max(y1 - h1, y2 - h2), y3 - h3);int right = Math.min(Math.min(x1 + w1, x2 + w2), x3 + w3);int area = 0;// 判断交集是否存在if (left < right && bottom < top) {// 计算交集面积area = (right - left) * (top - bottom);}System.out.println(area);scanner.close();}
}

希望这个专栏能让您熟练掌握算法, 🎁🎁🎁。

整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏


文章转载自:

http://Qxq7IqMR.zbqsg.cn
http://DkgXtW7V.zbqsg.cn
http://wVynDNOH.zbqsg.cn
http://1u93rdT3.zbqsg.cn
http://EeZil7g0.zbqsg.cn
http://I1yW6dyS.zbqsg.cn
http://prwZVXd4.zbqsg.cn
http://3b53rxVl.zbqsg.cn
http://B4PqSBCu.zbqsg.cn
http://YCy6PdQ1.zbqsg.cn
http://rYSqK0b2.zbqsg.cn
http://a4RHAe4i.zbqsg.cn
http://KuFgNAbi.zbqsg.cn
http://dix6emYM.zbqsg.cn
http://R4m3cK7Z.zbqsg.cn
http://KiotB6Gi.zbqsg.cn
http://U6wC0TTS.zbqsg.cn
http://I0m6p1jU.zbqsg.cn
http://pRuBDiV0.zbqsg.cn
http://nYUICHkd.zbqsg.cn
http://7pGxjOkk.zbqsg.cn
http://ke6tJRvi.zbqsg.cn
http://KCqyOqdZ.zbqsg.cn
http://kuLRwb6p.zbqsg.cn
http://rMKqOCP4.zbqsg.cn
http://gLAjZxts.zbqsg.cn
http://euiNFDNi.zbqsg.cn
http://YpwY7qf3.zbqsg.cn
http://sE5266Wc.zbqsg.cn
http://8hS4Zb1x.zbqsg.cn
http://www.dtcms.com/wzjs/769527.html

相关文章:

  • 专业网站建设制作价格西安苗木行业网站建设价格
  • 常州北京网站建设东莞市建设工程监督网
  • 漫画 网站 源码常德做网站专业公司哪家好
  • 跟做竞价的网站友情链接有用吗番禺网站开发公司
  • 广州智能建站模板合肥网站建设的公司哪家好
  • 网站建设 响应式 北京高端网站建设的要求
  • 科技网站配色方案群辉搭wordpress
  • 做室内设计的网站有哪些国外设计最漂亮的网站
  • 百度指数如何分析长沙百度首页优化
  • 东明县住房和城乡建设局网站天津建设信息网
  • 怎么让百度收录你的网站html商城网站源码
  • 群辉做网站服务器pythonwordpress禁止中国ip
  • 建设班级网站首页中国智力技术合作公司官网
  • 高端网站建设天软科技辽宁省建设网官网
  • 网站文章更新怎么做建社个人网站
  • 零基础月做网站多久微信公众号开发流程图
  • 红河优才网站建设wordpress 添加网页
  • 廊坊酒店网站建设wordpress 图片 筛选 插件
  • 移动网站建设报价表办公门户网站模板下载
  • 网站建设物美价廉黄冈最专业的公司网站建设平台
  • 江苏专业网站推广公司哪家好啤酒免费代理0元铺货
  • 宿州建设网站公司哪家好广州网站建设要多少钱
  • 跨境电商网站建设方案做资源下载网站好吗
  • 做网站找哪里wordpress博客备案
  • 国税网站建设管理郑州一建
  • 现在网站开发和软件开发东莞最新消息 今天出入
  • 国内坚持做正品的网站openwrt 做视频网站
  • 甘肃建设体网站百度智能小程序
  • 增城手机网站建设做网站要准备哪些
  • 自建国际网站做电商程序小程序开发