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

力扣之612.平面上的最近距离

文章目录

  • 1. 612.平面上的最近距离
    • 1.1 题目说明
    • 1.2 准备数据
    • 1.3 解法
    • 1.4 结果截图

1. 612.平面上的最近距离

1.1 题目说明

Point2D 表:

±------------±-----+
| Column Name | Type |
±------------±-----+
| x | int |
| y | int |
±------------±-----+
(x, y) 是该表的主键列(具有唯一值的列的组合)。
这张表的每一行表示 X-Y 平面上一个点的位置

p1(x1, y1) 和 p2(x2, y2) 这两点之间的距离是 sqrt((x2 - x1)2 + (y2 - y1)2) 。

编写解决方案,报告 Point2D 表中任意两点之间的最短距离。保留 2 位小数 。

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

示例 1:

输入:
Point2D table:
±—±—+
| x | y |
±—±—+
| -1 | -1 |
| 0 | 0 |
| -1 | -2 |
±—±—+
输出:
±---------+
| shortest |
±---------+
| 1.00 |
±---------+
解释:最短距离是 1.00 ,从点 (-1, -1) 到点 (-1, 2) 。

1.2 准备数据

Create Table If Not Exists Point2D (x int not null, y int not null)
Truncate table Point2D
insert into Point2D (x, y) values ('-1', '-1')
insert into Point2D (x, y) values ('0', '0')
insert into Point2D (x, y) values ('-1', '-2')

1.3 解法

with t1 as(select p1.x as x1,p1.y as y1,p2.x as x2,p2.y as y2 from Point2D p1,Point2D p2
),t2 as (select round(sqrt((x2-x1) * (x2-x1) + (y2-y1) * (y2-y1)),2) as sqrt from t1
),t3 as (select sqrt,row_number() over (order by sqrt) from t2 where sqrt != 0 limit 1
)
select round(sqrt,2) as shortest from t3

1.4 结果截图

在这里插入图片描述


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

相关文章:

  • JavaScript高级面向对象与面向过程讲解
  • Codeforces Round 981(Div. 3)
  • qemu参数解析过程
  • 【acwing】算法基础课-搜索与图论
  • vue父子传参方式——自定义事件
  • 对BSV区块链下一代节点Teranode的答疑解惑(下篇)
  • softmax回归从零实现
  • 一文学会LLM参数量计算
  • qt中qjson存储的是string类型的数据时,对于““和null的区别
  • echarts 矩阵树图treemap
  • 当遇到 502 错误(Bad Gateway)怎么办
  • HarmonyOS 5.0应用开发——Navigation实现页面路由
  • 光谱指标-预测含水量-多种特征提取方式
  • 【数据结构和算法】一、算法复杂度:时间复杂度和空间复杂度)
  • Electron 是一个用于构建跨平台桌面应用程序的开源框架
  • Docker:容器化的革命
  • 【EndNote使用教程】创建文献库、导入文献、文献分类
  • DAY62WEB 攻防-PHP 反序列化CLI 框架类PHPGGC 生成器TPYiiLaravel 等利用
  • 设备管理智能化:中小企业的Spring Boot系统
  • 介绍一款Java开发的企业接口管理系统和开放平台
  • 27.8 把target做一致性哈希进行分发
  • 双十一电容笔选哪个好?!西圣、益博思、吉玛仕电容笔实测对比!
  • 区块链行业低迷的原因及未来发展展望
  • 【贪心算法】(第十四篇)
  • 落实安全左移迫在眉睫 | 伊朗APT34组织针对阿联酋及海湾关键基础设施发动攻击
  • uniapp:sqlite最详细教程,小白可直接粘贴复制