Title: #391 - Perfect Rectangle - LeetCode JavaScript Solutions
Open Graph Title: #391 - Perfect Rectangle - LeetCode JavaScript Solutions
X Title: #391 - Perfect Rectangle - LeetCode JavaScript Solutions
Description: Given an array rectangles where rectangles[i] = [xi, yi, ai, bi] represents an axis-aligned rectangle. The bottom-left point of the rectangl...
Open Graph Description: Given an array rectangles where rectangles[i] = [xi, yi, ai, bi] represents an axis-aligned rectangle. The bottom-left point of the rectangl...
X Description: Given an array rectangles where rectangles[i] = [xi, yi, ai, bi] represents an axis-aligned rectangle. The bottom-left point of the rectangl...
Keywords:
Opengraph URL: https://leetcodejavascript.com/solutions/perfect-rectangle
Domain: leetcodejavascript.com
{"@context":"https://schema.org","@type":"Code","url":"https://leetcodejavascript.com/solutions/perfect-rectangle","name":"#391 - Perfect Rectangle - LeetCode JavaScript Solutions","description":"Given an array rectangles where rectangles[i] = [xi, yi, ai, bi] represents an axis-aligned rectangle. The bottom-left point of the rectangl...","programmingLanguage":"JavaScript","codeRepository":"https://github.com/JoshCrozier/leetcode-javascript","codeSampleType":"JavaScript","text":"/**\n * @param {number[][]} rectangles\n * @return {boolean}\n */\nvar isRectangleCover = function(rectangles) {\n const result = new Set();\n let area = 0;\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n\n for (const [x1, y1, x2, y2] of rectangles) {\n area += (x2 - x1) * (y2 - y1);\n minX = Math.min(minX, x1);\n minY = Math.min(minY, y1);\n maxX = Math.max(maxX, x2);\n maxY = Math.max(maxY, y2);\n for (const corner of [`${x1},${y1}`, `${x2},${y1}`, `${x1},${y2}`, `${x2},${y2}`]) {\n result.has(corner) ? result.delete(corner) : result.add(corner);\n }\n }\n\n return area === (maxX - minX) * (maxY - minY) && result.size === 4\n && result.has(`${minX},${minY}`) && result.has(`${maxX},${minY}`)\n && result.has(`${minX},${maxY}`) && result.has(`${maxX},${maxY}`);\n};","keywords":"LeetCode 391, #391 - Perfect Rectangle, Hard, JavaScript solution","learningResourceType":"Code","isAccessibleForFree":true,"educationalLevel":"intermediate","interactivityType":"mixed"}
| author | LeetCodeJavascript.com |
| og:type | article |
| og:image | https://leetcodejavascript.com/og-image.jpg |
| og:site_name | LeetCode JavaScript Solutions |
| twitter:card | summary_large_image |
| twitter:url | https://leetcodejavascript.com/solutions/perfect-rectangle |
| twitter:image | https://leetcodejavascript.com/og-image.jpg |
| twitter:creator | @joshcrozier |
| theme-color | #1f2937 |
Links:
| LeetCodeJavascript.com | https://leetcodejavascript.com/ |
| Star on GitHub | https://github.com/JoshCrozier/leetcode-javascript |
| Back to all solutions | https://leetcodejavascript.com |
| View on LeetCode | https://leetcode.com/problems/perfect-rectangle/ |
| View on GitHub | https://github.com/JoshCrozier/leetcode-javascript/blob/master/solutions/0391-perfect-rectangle.js |
| Array | https://leetcodejavascript.com/tags/array |
| Line Sweep | https://leetcodejavascript.com/tags/line-sweep |
| Josh Crozier | https://joshcrozier.com |
Viewport: width=device-width,initial-scale=1
Robots: index, follow