力扣之1459.矩形面积

1. 1459.矩形面积

1.1 题干

表: Points

±--------------±--------+
| Column Name | Type |
±--------------±--------+
| id | int |
| x_value | int |
| y_value | int |
±--------------±--------+
id 是该表中具有唯一值的列。
每个点都用二维坐标 (x_value, y_value) 表示。

编写解决方案,报告由表中任意两点可以形成的所有 边与坐标轴平行 且 面积不为零 的矩形。

结果表中的每一行包含三列 (p1, p2, area) 如下:

p1 和 p2 是矩形两个对角的 id
矩形的面积由列 area 表示
返回结果表请按照面积 area 大小 降序排列;如果面积相同的话, 则按照 p1 升序排序;若仍相同,则按 p2 升序排列。

返回结果格式如下例所示:

示例 1:
在这里插入图片描述
输入:
Points 表:
±---------±------------±------------+
| id | x_value | y_value |
±---------±------------±------------+
| 1 | 2 | 7 |
| 2 | 4 | 8 |
| 3 | 2 | 10 |
±---------±------------±------------+
输出:
±---------±------------±------------+
| p1 | p2 | area |
±---------±------------±------------+
| 2 | 3 | 4 |
| 1 | 2 | 2 |
±---------±------------±------------+
解释:
p1 = 2 且 p2 = 3 时, 面积等于 |4-2| * |8-10| = 4
p1 = 1 且 p2 = 2 时, 面积等于 ||2-4| * |7-8| = 2
p1 = 1 且 p2 = 3 时, 是不可能为矩形的, 面积等于 0

1.2 准备数据

Create table If Not Exists Points (id int, x_value int, y_value int)
Truncate table Points
insert into Points (id, x_value, y_value) values ('1', '2', '7')
insert into Points (id, x_value, y_value) values ('2', '4', '8')
insert into Points (id, x_value, y_value) values ('3', '2', '10')

1.3 实现

#方式一
with t1 as (select p1.id as p1,p2.id as p2,abs((p1.x_value-p2.x_value)*(p1.y_value-p2.y_value)) area
from points p1 cross join points p2
)
select distinct  least(p1,p2) as p1,greatest(p1,p2) as p2,area from t1 where area > 0
order by area desc,p1 asc,p2 asc;# 方式二with t1 as (select p1.id as p1,p2.id as p2,abs((p1.x_value-p2.x_value)*(p1.y_value-p2.y_value)) area
from points p1 cross join points p2
on p1.id <p2.id and p1.x_value <> p2.x_value and p1.y_value <> p2.y_value
)
select distinct  p1,p2,area from t1 where area > 0order by area desc,p1 asc,p2 asc;

1.4 结果截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145006.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

化工行业如何做数字化转型?

据红杉的一项调查报告中指出&#xff0c;国内超九成的企业&#xff08;95%&#xff09;已经开展了不同程度的数字化实践&#xff0c;并将把数字化转型作为企业的战略核心。数字化转型或者说通过数据手段来帮助企业更好发展的方式&#xff0c;已成为未来不可避免的趋势。 那么&a…

SG-SLAM下载部署安装运行记录

1、论文简介 论文地址 GitHub - silencht/SG-SLAM: SG-SLAM: A Real-Time RGB-D Visual SLAM toward Dynamic Scenes with Semantic and Geometric Information 下载论文&#xff0c;zip文件 2、配置环境 其实没什么好说的&#xff0c;就是按照作者提供的文档 2.1cmake错…

三菱变频器RS-485 端子的接线和构成

RS-485 端子排列 RS-485 端子接线方法 RS-485 的计算机1台、变频器1台时 RS-485 的计算机1台、变频器n台(多台)时 通讯运行的初始设定 1、为使变频器和计算机进行 RS-485 通讯&#xff0c;进行必要的设定。 2、通讯分为使用变频器的PU接口的通讯和使用RS-485端子的通讯。 3、…

【算法题】139. 单词拆分-力扣(LeetCode)

【算法题】139. 单词拆分-力扣(LeetCode) 1.题目 下方是力扣官方题目的地址 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用&#xff0c;并且…

如何下载旧版本app或者旧版本的电脑软件?下载旧版本手机app和电脑软件的方法

下载旧版本软件的方法介绍&#xff0c;下面以下载旧版本剪映为例&#xff1a;

【STM32 Blue Pill编程实例】-手机通过HC-05串口蓝牙控制LED

手机通过HC-05串口蓝牙控制LED 文章目录 手机通过HC-05串口蓝牙控制LED1、HC-05串口蓝牙模块介绍2、硬件准备和接线3、模块配置4、代码实现5、手机控制在本文中,我们介绍如何使用 STM32CubeIDE 和 HAL 库将 HC-05 蓝牙模块与 STM32 Blue Pill 开发板连接。 我们将使用 Android…

分布式事务一致性:本地消息表设计与实践

概念 本地消息表是一种常见的解决分布式事务问题的方法。其核心思想是将分布式事务拆分成本地事务来处理&#xff0c;通过消息队列来保证各个本地事务的最终一致性。 实现步骤 创建本地消息表&#xff1a;在数据库中创建一个本地消息表&#xff0c;用于存储待发送的消息以及消…

泽众P-One性能测试平台火焰图帮助定位产品性能问题

在软件开发过程中&#xff0c;性能问题往往是最头疼的问题之一。随着软件系统的日益复杂&#xff0c;快速准确地定位并解决性能问题变得尤为重要。泽众P-One作为一站式性能测试平台&#xff0c;通过引入火焰图性能分析可视化工具&#xff0c;极大地提升了性能问题的定位效率和解…

PDF样本册如何分享到朋友圈

​想象一下&#xff0c;你刚刚参加了一场行业盛会&#xff0c;获取了一份包含最新行业动态、优秀案例的PDF样本册。你迫不及待地想要分享给身边的朋友&#xff0c;与他们共同学习、探讨。然而&#xff0c;传统的分享方式要么依赖纸质版&#xff0c;要么通过电子邮件&#xff0c…

数据库-约束与多表查询

1.约束 例子&#xff1a; 外键约束 例子&#xff1a; 2.多表查询 多表关系 概述 内连接 外连接 自连接 联合查询 子查询 介绍 标量子查询 仅有一个值 列子查询 行子查询 表子查询 练习

大模型团队招人(校招):阿里巴巴智能信息,2025届春招来了!

阿里巴巴智能信息&#xff0c;2025届春招开始啦&#xff0c;欢迎有意向的优秀同学扫码投递。实习的内容也是大语言模型的核心方向Alignment&#xff0c;在这里有丰富的实验资源、良好的数据支持、优秀的师兄师姐带领你进入大模型的全新领域。内推直达&#xff1a;https://talen…

有哪些软件具备员工电脑的通讯软件管控功能

1、金刚钻信息网站桌面管理系统&#xff1a;系统里集合了上网行为管理、网络传输控制、硬件设备控制等功能&#xff0c;其中网络传输控制功能可以通过控制QQ、微信等 IM工具传输来管控网页和邮件敏感内容发布等渠道&#xff0c;预防企业内部敏感信息外泄。 2、洞察眼MIT系…

Blender软件三大渲染器Eevee、Cycles、Workbench对比解析

Blender 是一款强大的开源3D制作平台&#xff0c;提供了从建模、雕刻、动画到渲染、后期制作的一整套工具&#xff0c;广泛应用于电影、游戏、建筑、艺术等领域。 渲染101云渲染云渲6666 相比于其他平台&#xff0c;如 Autodesk Maya、3ds Max 或 Cinema 4D&#xff0c;Blende…

【JAVA开源】基于Vue和SpringBoot的蜗牛兼职平台

本文项目编号 T 034 &#xff0c;文末自助获取源码 \color{red}{T034&#xff0c;文末自助获取源码} T034&#xff0c;文末自助获取源码 目录 一、系统介绍1.1 平台架构1.2 管理后台1.3 用户网页端1.4 技术特点 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景…

PHP限定post提交数据的次数

PHP限定post提交数据的次数。 在PHP中&#xff0c;你可以通过记录IP地址的提交次数并在会话或数据库中存储这些信息来实现这个需求。以下是一个简单的PHP示例&#xff0c;它使用会话来跟踪IP地址的提交次数。 <?php session_start(); // 获取用户的IP地址 $ip_address $…

linux内核 devtmpfs介绍

文章目录 概要整体架构流程技术细节 概要 提示&#xff1a;这里可以添加技术概要 linux内核中 devtmpfs实现介绍 内核版本&#xff1a;5.10 Devtmpfs在Linux中是一个特殊的设备文件系统&#xff0c;主要用来linux内核中加速启动过程和管理设备节点。高版本的linux基本都是使用…

使用adb命令进行内存测试

使用 adb &#xff08;Android Debug Bridge&#xff09;&#xff0c;可以从命令行进行多种内存测试和查看内存使用情况。以下是一些常用的 adb 命令可以进行内存测试和分析。 1、获取系统整体内存信息 adb shell dumpsys meminfo 2、获取特定应用内存信息 adb shell dumps…

本地搭建我的世界服务器(JAVA)简单记录

网上参考教程挺多的&#xff0c;踩了不少坑&#xff0c;简单记录一下&#xff0c;我做的是一个私人服务器&#xff0c;就是和朋友3、4个人玩。 笨蛋 MC 开服教程 先放一个比较系统和完整的教程&#xff0c;萌新可用&#xff0c;这个教程很详细&#xff0c;我只是记录一下自己的…

WebServer:log

超时锁的编写 这个问题处于blockqueue.h文件中&#xff0c;内容如下&#xff1a; template<class T> bool BlockDeque<T>::pop(T& item, int timeout) {std::unique_lock<std::mutex> locker(mtx_);while(deq_.empty()) {if(condConsumer_.wait_for(lo…

分享每天开发100个WhatsApp客户方法

获取WhatsApp账号的方式有很多&#xff0c;因为WhatsApp跟微信差不多&#xff0c;可以说是国际版的微信&#xff0c;很多电话就是WhatsApp。所以说收集WhatsApp基本上就跟收集收集号码的方式大同小异&#xff0c;谷歌开发客户是做外贸的基本功之一了&#xff0c;要会谷歌开发客…