news 2026/4/30 11:14:07

leetcode 3453. 分割正方形 I 中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 3453. 分割正方形 I 中等

给你一个二维整数数组squares,其中squares[i] = [xi, yi, li]表示一个与 x 轴平行的正方形的左下角坐标和正方形的边长。

找到一个最小的y 坐标,它对应一条水平线,该线需要满足它以上正方形的总面积等于该线以下正方形的总面积。

答案如果与实际答案的误差在10^-5以内,将视为正确答案。

注意:正方形可能会重叠。重叠区域应该被多次计数

示例 1:

输入:squares = [[0,0,1],[2,2,1]]

输出:1.00000

解释:

任何在y = 1y = 2之间的水平线都会有 1 平方单位的面积在其上方,1 平方单位的面积在其下方。最小的 y 坐标是 1。

示例 2:

输入:squares = [[0,0,2],[1,1,1]]

输出:1.16667

解释:

面积如下:

  • 线下的面积:7/6 * 2 (红色) + 1/6 (蓝色) = 15/6 = 2.5
  • 线上的面积:5/6 * 2 (红色) + 5/6 (蓝色) = 15/6 = 2.5

由于线以上和线以下的面积相等,输出为7/6 = 1.16667

提示:

  • 1 <= squares.length <= 5 * 10^4
  • squares[i] = [xi, yi, li]
  • squares[i].length == 3
  • 0 <= xi, yi <= 10^9
  • 1 <= li <= 10^9
  • 所有正方形的总面积不超过10^12

分析:浮点二分答案,设当前的上界为 r,下界为 l,中线为 mid。分别计算当前答案的上方和下方面积和,如果面积差小于 10 的 -5 次方,则可将 r=mid;否则 l=mid。因为题目要求答案误差范围在 10 的 -5 次方内,所以结束条件为 r-l<0.00001。

double separateSquares(int** squares, int squaresSize, int* squaresColSize) { double ans=0; int low=squares[0][1],high=squares[0][1]+squares[0][2]; for(int i=1;i<squaresSize;++i) low=fmin(low,squares[i][1]),high=fmax(high,squares[i][1]+squares[i][2]); double l=low,r=high; while(l<r) { double mid=(l+r)/2.0,area_l=0.0,area_h=0.0; for(int i=0;i<squaresSize;++i) { if(mid<=squares[i][1])area_h+=1.0*squares[i][2]*squares[i][2]; else if(mid>=squares[i][1]+squares[i][2])area_l+=1.0*squares[i][2]*squares[i][2]; else { double temp=squares[i][2]*1.0*(squares[i][1]+squares[i][2]-mid); area_h+=temp,area_l+=1.0*squares[i][2]*squares[i][2]-temp; } } if(area_h<=area_l)r=mid; else if(area_h>area_l)l=mid; // printf("l=%f r=%f mid=%f\n",l,r,mid); if(r-l<=0.00001) { ans=l;break; } } return ans; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 8:13:47

leetcode 712. 两个字符串的最小ASCII删除和 中等

给定两个字符串s1 和 s2&#xff0c;返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。示例 1:输入: s1 "sea", s2 "eat" 输出: 231 解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入总和。 在 "eat"…

作者头像 李华
网站建设 2026/5/1 8:15:06

vm的桥接模式理解

一、VMware 的三种网络模式&#xff08;通俗解释&#xff09; 1. 桥接模式&#xff08;Bridged&#xff09; 类比&#xff1a; 你家路由器下面接了两个设备&#xff1a; 你的电脑 你的手机 它们都能直接互相访问&#xff0c;也能上网。 桥接模式就是&#xff1a; 虚拟机 你局域…

作者头像 李华
网站建设 2026/5/1 8:12:56

技术流速通:低代码破局固资管理“黑箱”,从架构到落地全拆解

作为IT技术人&#xff0c;你大概率经历过这样的场景&#xff1a;年底资产盘点时&#xff0c;财务拿着Excel台账追着你核对设备信息&#xff0c;生产部门抱怨设备维修记录混乱导致停机损失&#xff0c;行政吐槽资产调拨流程繁琐效率低下。固定资产管理&#xff0c;这个横跨财务、…

作者头像 李华
网站建设 2026/5/1 8:13:57

YY/T 0681.15-2019:守护无菌医疗器械yyt0618.15-2019运输安全的核心准则

对于无菌医疗器械而言&#xff0c;质量安全的保障不仅取决于生产制造环节&#xff0c;更贯穿于从工厂到医疗机构的全流通链路。运输过程中的颠簸、跌落、气压变化等环境应力&#xff0c;都可能破坏包装完整性&#xff0c;进而影响产品无菌性&#xff0c;给患者安全带来隐患。YY…

作者头像 李华
网站建设 2026/4/19 3:23:51

连锁超市冷库能耗难题,一套智能系统如何让电费直降30%?

连锁超市冷库能耗难题&#xff0c;一套智能系统如何让电费直降30%&#xff1f;清晨五点&#xff0c;某连锁超市的冷链主管王经理又一次被手机告警惊醒——又一个冷库温度异常。这已经是他本月接到的第7次紧急通知。匆匆赶往门店的路上&#xff0c;他心中盘算的不仅是即将报废的…

作者头像 李华
网站建设 2026/5/1 9:26:22

大模型竞速进入深水区:Gemini、豆包与DeepSeek的差异化突围之路

当AI技术走出实验室的“象牙塔”&#xff0c;涌入产业落地的“主战场”&#xff0c;大模型市场早已告别“比参数、拼算力”的野蛮生长阶段&#xff0c;稳稳迈入以“效率论英雄、场景见真章”的深水区。赛迪顾问的预测给出了清晰信号&#xff1a;2026年中国大模型市场规模将冲破…

作者头像 李华