打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

作者:吾是我师 时间:2024-01-09 阅读:2298

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

一直很纠结算法的文章应该怎么写。最后觉得还是从最简单的level开始写吧,一开始就弄些重量级的,什么人工智能,机器学习的算法,还要有大量的数学以及优化的知识,小白们估计会很郁闷,当然我也不一定能做出来对吧。

我计划每题给出两种语言的解决方案,一种静态语言,一种动态语言。

我选择C语言,python和Java作为实现语言,由于篇幅有限,其他语言的实现有兴趣的朋友请自己尝试。

LeetCode 973. 求离原点最近的K个点(K Closest Points to Origin)

问题描述:

在一个平面坐标系中,存在多个点的集合 points,K是一个给定的正整数。求points中到原点(0,0)欧式距离最近的K个点。

注:

  1. 1 <= K <= points.length <= 10000
  2. -10000 < points[i][0] < 10000
  3. -10000 < points[i][1] < 10000

示例:

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

C语言实现:

我们用排序算法来解这道题。

排序可能会修改原数据,我们的原则是不修改,所以先copy一份points的副本t,我们对这个副本进行排序。

我们调用qsort来做自定义快速排序,排序是依据是点到原点的欧式距离的大小。

欧式距离的计算是,两点间不同维度的差的平方再相加后再开方。由于我们只是比较大小,开不开方并不影响这个大小的比较,因此最后的开方实际上是不需要的。

副本t被排序后,我们只要取前K个元素返回就可以了。

其他还有解法可以实现O(n),但是比这个要复杂一些,大家可以思考一下。不过我还是推荐这个思路。这个思路很简单,实现容易,代码也比较简洁。因为用到快速排序,所以算法复杂度是O(nlogn),算是不错的了。

代码如下:

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

python语言的实现:

python的实现和C语言的原理是一样的,先自定义排序,然后用切片截取前K个元素返回即可。

代码如下:

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

Java语言的实现:

Java的实现和C语言的实现相同,但是注意,sort的第二个参数不要直接使用lambda表达式,否则性能至少会降低2倍。

代码如下:

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

打基础之LeetCode算法题第71篇:二维坐标中的欧式距离问题

上一篇:不锈钢板价格最新报价表(不锈钢锅便宜和贵

下一篇:厨房门口两边柜子图(冰箱放在进厨房的门边

猜你喜欢

电视墙做柜子效果图(电视背景墙的柜子要不要做到顶)

电视墙做柜子效果图(电视背景墙的柜子要不要做到顶)

知识 2023-11-02 799
三洋电视机郑州维修电话(国美电器是私企还是国企)

三洋电视机郑州维修电话(国美电器是私企还是国企)

资讯 2023-11-08 3377
中式沙发靠背尺寸(360沙发尺寸一般是多少)

中式沙发靠背尺寸(360沙发尺寸一般是多少)

资讯 2023-11-09 1367
西安礼堂椅(报告厅和礼堂啥区别)

西安礼堂椅(报告厅和礼堂啥区别)

知识 2023-11-10 80
苏皖工长俱乐部装修公司贵吗(苏皖工长俱乐部做家居装修可信吗)

苏皖工长俱乐部装修公司贵吗(苏皖工长俱乐部做家居装修可信吗)

资讯 2023-11-12 502
变频空调好不好修(变频空调输出缺相维修方法)

变频空调好不好修(变频空调输出缺相维修方法)

资讯 2023-11-14 1315
刨花板招聘条件(新房装修该如何选择装修材料)

刨花板招聘条件(新房装修该如何选择装修材料)

资讯 2023-11-15 2190
青岛工装设计公司(新生活集团的青岛公司)

青岛工装设计公司(新生活集团的青岛公司)

资讯 2023-11-17 1606
液晶电视开机2秒就黑屏(有时候拍一拍就能好)

液晶电视开机2秒就黑屏(有时候拍一拍就能好)

资讯 2023-11-18 1628
贵人缘家具 胡桃木(石达开被凌迟的时候真的没有喊一声吗)

贵人缘家具 胡桃木(石达开被凌迟的时候真的没有喊一声吗)

知识 2023-12-27 3697
6平米多功能房设计效果图(一岁多宝宝可以看的绘本有哪些推荐)

6平米多功能房设计效果图(一岁多宝宝可以看的绘本有哪些推荐)

知识 2024-01-09 1573
摩恩水槽老款(摩恩和欧琳哪个水槽好)

摩恩水槽老款(摩恩和欧琳哪个水槽好)

资讯 2024-01-17 4082
建筑水电安装板面定位图纸怎么看,怎样按图施工?水电工必看

建筑水电安装板面定位图纸怎么看,怎样按图施工?水电工必看

资讯 2024-01-25 3378
我这样的水电改造价格高了吗?

我这样的水电改造价格高了吗?

资讯 2024-01-25 692
中式装饰摆件讲究(红木家具方几上面放什么好看)

中式装饰摆件讲究(红木家具方几上面放什么好看)

资讯 2024-01-30 2811
黑白大理石纹矢量图(想装修黑白极简风格)

黑白大理石纹矢量图(想装修黑白极简风格)

知识 2024-02-15 2321
天花板装修一般多少钱(客厅吊顶费用一般要多少)

天花板装修一般多少钱(客厅吊顶费用一般要多少)

知识 2024-02-18 2845
【市场分析】2023年中国预应力钢筒混凝土管行业市场发展情况一览

【市场分析】2023年中国预应力钢筒混凝土管行业市场发展情况一览

知识 2024-02-29 4090
整体橱柜厂家加智艺(怎么选购橱柜)

整体橱柜厂家加智艺(怎么选购橱柜)

知识 2024-03-03 4186
乳胶漆施工工艺流程和乳胶漆施工注意事项

乳胶漆施工工艺流程和乳胶漆施工注意事项

资讯 2024-03-10 343