参考:https://leetcode.com/problems/minimum-area-rectangle/discuss/192759/Simple-AF-JAVA-solution-with-explanation-O(n2)
题目:给出一个xy平面,坐标面上有若干点,求这些点构成的最小矩形面积,要去矩形长宽分别与xy轴平行。
输入:一个二维数组(点集)
输出:一个整数(最小矩形面积)
别人思路:用set集合把所有点储存起来,然后遍历点集,每次取俩点(x1,y1)和(x2,y2)作为矩形的对角线上你的两个点。
然后判断另外两个点(x1,y2)和(x2,y1)是否也在点集中。若在,则这四个点可以构成矩形,可求得面积,
依次类推,求出所有矩形面积后,选择最小的即可。

public class Medium_939_MinimumAreaRectangle {int x ;int y ;public Medium_939_MinimumAreaRectangle(int x, int  y){this.x = x ;this.y = y ;}@Overridepublic boolean equals(Object object){return ((Medium_939_MinimumAreaRectangle)object).x==this.x && ((Medium_939_MinimumAreaRectangle)object).y == this.y ;}@Overridepublic int hashCode(){return Objects.hash(x,y) ;}}
class Solution {Set<Medium_939_MinimumAreaRectangle> set = new HashSet<Medium_939_MinimumAreaRectangle>() ;int min = Integer.MAX_VALUE ;int area = 0 ;public int minAreaRect(int[][] points) {for(int i=0;i<points.length;i++){set.add(new Medium_939_MinimumAreaRectangle(points[i][0], points[i][1])) ;}for(int i=0;i<points.length;i++){for(int j=i+1;j<points.length;j++){int x1 = points[i][0] ;int y1 = points[i][1] ;int x2 = points[j][0] ;int y2 = points[j][1] ;Medium_939_MinimumAreaRectangle node1 = new Medium_939_MinimumAreaRectangle(x1,y2) ;Medium_939_MinimumAreaRectangle node2 = new Medium_939_MinimumAreaRectangle(x2,y1) ;if(set.contains(node1)&&set.contains(node2)){area = Math.abs((x2-x1)*(y2-y1)) ;if(area!=0 && min > area){min = area ;}}}}if(min == Integer.MAX_VALUE){return 0 ;}return min ;}
}

leetcode939.MinimumAreaRectangle相关推荐

  1. LeetCode939

    问题:最小面积矩形 给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. 示例 1: 输入:[[1,1],[1,3], ...

  2. LeetCode 939. 最小面积矩形(哈希)

    文章目录 1. 题目 2. 解题 1. 题目 给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. 示例 1: 输入: ...

  3. LeetCode 力扣算法题解汇总,All in One

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: https://fuxuemingzhu.cn 关键词:LeetCode,力扣,算法,题解,汇总,解析 把自己刷过的所有题目做一个整理, ...

  4. SiamMask 测试程序分析

    之前分析了 DaSiamRPN 的测试代码,侧重于执行细节.到了 SiamMask,似乎主题应该有所升华.故事的明线为跟踪器构成,暗线为训练流图. 相比于 DaSiamRPN,SiamMask 不仅网 ...

  5. Leetcode 939:最小面积矩形(最详细的解法!!!)

    给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. 示例 1: 输入:[[1,1],[1,3],[3,1],[3,3 ...

最新文章

  1. Git GitLab 使用及规范
  2. Cmake的install与file命令的区别
  3. adobe audition cs6 能打开mpcm文件吗?_PR竟然有手机版的了?Adobe正式推出Premiere Rush版(内含安装包)!...
  4. [转载] 【零基础学爬虫】python中的yield详解
  5. 一个有关fstream类的bug
  6. C++ 数据抽象 封装 接口
  7. led投屏软件_SmartDrop——LED/LCD大屏内容投屏管理软件
  8. python必背代码-Python高手必修课:如何让 Python 代码更易读,推荐收藏
  9. VMvare桥接网络连接不上解决办法
  10. 杰控连接mysql_杰控FameView组态软件在数据库连接和查询方面的应用
  11. 【小程序】小游戏开发工具详解(下)
  12. 记录一次使用LKAdoc时出现的很low很low很low的问题
  13. 巧用千寻位置GNSS软件|CAD功能全解析
  14. Excel制作热力图
  15. eNSP:实现不同网段不同vlan主机之间的互访(配置单臂路由)
  16. Bestcoder-889-1001-Drink(HDOJ6743)
  17. 电磁波波长越短能量越强_5G信号为什么穿墙能力弱?电磁波不是波长越短穿透力越强吗?...
  18. 我眼中的自己和程序猿男朋友眼中的我
  19. 基于区块链的Smart系统-题库及试卷管理模块的设计与开发
  20. 蓝桥杯刷题冲刺 | 倒计时6天

热门文章

  1. 【BZOJ4561】[JLoi2016]圆的异或并
  2. 种树(codevs 1768)
  3. PHP 数组排序函数sort,rsort,ksort,krsort,asort,arsort区别
  4. 怎样给 ActiveX 控件签名并打包发布
  5. Linux故障解决(3)——YUM安装任何软件 报错:ERROR: XZ COMPRESSION NOT AVAILABLE
  6. 量化策略回测DCCV2
  7. java监听鼠标接口实现_自定义Java鼠标监听器?
  8. 同样是数据分析师,他靠“打标签”总被夸,我天天加班取数还被骂
  9. 熬夜整理了一份北京牛逼互联网公司清单,找工作千万别踩雷了
  10. 数据分析必备的统计学(二):假设检验