博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 939. Minimum Area Rectangle
阅读量:5112 次
发布时间:2019-06-13

本文共 1655 字,大约阅读时间需要 5 分钟。

I hate geometric problems…...

class Solution {        public int minAreaRect(int[][] points) {            Map
> xmap = new HashMap<>(); Map
> ymap = new HashMap<>(); Set
s = new HashSet<>(); for (int i = 0; i < points.length; ++i) { List
x = xmap.getOrDefault(points[i][0], new ArrayList<>()); List
y = ymap.getOrDefault(points[i][1], new ArrayList<>()); x.add(i); y.add(i); xmap.put(points[i][0], x); ymap.put(points[i][1], y); s.add(Arrays.toString(points[i])); } int[] tmp = new int[2]; int ret = Integer.MAX_VALUE; for (int i = 0; i < points.length; ++i) { for (Integer right: ymap.getOrDefault(points[i][1], new ArrayList<>())) { if (points[right][0] <= points[i][0]) continue; for (Integer up: xmap.getOrDefault(points[i][0], new ArrayList<>())) { if (points[up][1] <= points[i][1]) continue; tmp[0] = points[right][0]; tmp[1] = points[up][1]; if (s.contains(Arrays.toString(tmp))) { //compute size ret = Math.min(ret, (tmp[0] - points[i][0]) * (tmp[1] - points[i][1])); } } } } return ret == Integer.MAX_VALUE? 0: ret; } }

转载于:https://www.cnblogs.com/exhausttolive/p/10561510.html

你可能感兴趣的文章
第一个Java Web程序
查看>>
树状数组_一维
查看>>
如果没有按照正常的先装iis后装.net的顺序,可以使用此命令重新注册一下:
查看>>
linux install ftp server
查看>>
嵌入式软件设计第8次实验报告
查看>>
算法和数据结构(三)
查看>>
Ubuntu下的eclipse安装subclipse遇到没有javahl的问题...(2天解决了)
查看>>
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
Repeater + Resources 列表 [原创][分享]
查看>>
WCF揭秘——使用AJAX+WCF服务进行页面开发
查看>>
【题解】青蛙的约会
查看>>
IO流
查看>>
mybatis调用存储过程,获取返回的游标
查看>>
设计模式之装饰模式(结构型)
查看>>
面向对象的设计原则
查看>>
Swift3.0服务端开发(三) Mustache页面模板与日志记录
查看>>
【转】 FPGA设计的四种常用思想与技巧
查看>>
EntityFrameWork 实现实体类和DBContext分离在不同类库
查看>>
新手算法学习之路----二叉树(在一个二叉查找树中插入一个节点)
查看>>
autopep8
查看>>