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

Golang | Leetcode Golang题解之第391题完美矩形

题目:

题解:

func isRectangleCover(rectangles [][]int) bool {type point struct{ x, y int }area, minX, minY, maxX, maxY := 0, rectangles[0][0], rectangles[0][1], rectangles[0][2], rectangles[0][3]cnt := map[point]int{}for _, rect := range rectangles {x, y, a, b := rect[0], rect[1], rect[2], rect[3]area += (a - x) * (b - y)minX = min(minX, x)minY = min(minY, y)maxX = max(maxX, a)maxY = max(maxY, b)cnt[point{x, y}]++cnt[point{x, b}]++cnt[point{a, y}]++cnt[point{a, b}]++}if area != (maxX-minX)*(maxY-minY) || cnt[point{minX, minY}] != 1 || cnt[point{minX, maxY}] != 1 || cnt[point{maxX, minY}] != 1 || cnt[point{maxX, maxY}] != 1 {return false}delete(cnt, point{minX, minY})delete(cnt, point{minX, maxY})delete(cnt, point{maxX, minY})delete(cnt, point{maxX, maxY})for _, c := range cnt {if c != 2 && c != 4 {return false}}return true
}func min(a, b int) int {if a > b {return b}return a
}func max(a, b int) int {if b > a {return b}return a
}

http://www.mrgr.cn/news/18453.html

相关文章:

  • 【hot100篇-python刷题记录】【电话号码的字母组合】
  • 堆内存申请
  • 浏览器按F12进入开发者模式后频繁因为异常而暂停导致无法分析页面xpath
  • JVM:内存结构_02(堆,方法区)
  • 全网最适合入门的面向对象编程教程:44 Python内置函数与魔法方法-重写内置类型的魔法方法
  • 第T3周:天气识别
  • Linux--实现简易shell
  • CUDA与TensorRT学习二:CUDA编程入门
  • 基于Python的机器学习系列(22):高斯混合模型(GMM)聚类的改进版
  • 项目管理(1)——项目管理认识
  • jQuery基础——Ajax
  • Windows 安装 MySQL8
  • 数据结构:(LeetCode144)二叉树的前序遍历
  • 希尔排序
  • Scrcpy简介
  • 粒子群算法电力系统【原创附代码】
  • 法人手机验证通常是为了确保企业相关操作的安全性和合法性。以下是一些常见的法人手机验证方法及测试要点:
  • 用RPC Performance Inspector 优化你的区块链
  • SpringCloud开发实战(一):搭建SpringCloud框架
  • java update有什么用