已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,

距离最近的两个点间的最小距离。请补全缺失的代码。

把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。

/*

*/
import java.util.ArrayList;
import java.util.List;
class MyPoint{
private double x; // 横坐标
private double y; // 纵坐标
public MyPoint(double x, double y){
this.x = x;
this.y = y;
}
public static double distance(MyPoint p1, MyPoint p2){
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return Math.sqrt(dx*dx + dy*dy);
}
/*
lst中含有若干个点的坐标
返回其中距离最小的点的距离
*/
public static double getMinDistance(List<MyPoint> lst){
if(lst==null || lst.size()<2) return Double.MAX_VALUE;
double r = Double.MAX_VALUE;
MyPoint p0 = lst.remove(0);
for(int i=0; i<lst.size(); i++){
MyPoint p = lst.get(i);
double d = MyPoint.distance(p0,p);
if(d<r) r = d; // 填空
}
double d2 = getMinDistance(lst);
return d2 < r ? d2 : r;
}
}
64
class Demo04{
public static void main(String[] args){
List<MyPoint> list = new ArrayList<MyPoint>() ;
list.add(new MyPoint(31,4));
list.add(new MyPoint(1,2));
list.add(new MyPoint(1,1));
list.add(new MyPoint(1,4));
System.out.println(MyPoint.getMinDistance(list));
}
}

运行结果:

1.0

java实现最近距离的更多相关文章

  1. java计算两地距离(公里)

    //目标经度,目标纬度,自己经度,自己纬度 public static double getDistance(double lon1, double lat1, double lon2, double ...

  2. 🏆【JVM深层系列】「云原生时代的Java虚拟机」针对于GraalVM的技术知识脉络的重塑和探究

    GraalVM 背景 新.旧编程语言的兴起躁动,说明必然有其需求动力所在,譬如互联网之于JavaScript.人工智能之于Python,微服务风潮之于Golang等等.大家都清楚不太可能有哪门语言能在 ...

  3. ES进阶--02

    第11节深度探秘搜索技术_案例实战基于dis_max实现best fields策略进行多字段搜索 课程大纲 1.为帖子数据增加content字段 POST /forum/article/_bulk{ ...

  4. Elasticsearch学习之深入搜索五 --- phrase matching搜索技术

    1. 近似匹配 什么是近似匹配,两个句子 java is my favourite programming language, and I also think spark is a very goo ...

  5. OJ题解记录计划

    容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001  A+B Problem First AC: 2 ...

  6. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  7. 1.交通聚类:编辑距离 (Levenshtein距离)Java实现

    1.最近工作中要实现用户车辆的行驶路线的聚类,由于所给的数据只有用户一天中交通卡口所监视的卡口名称 :即青岛路-威海路-济阳路 . 要通过聚类实现车辆路线的规律分析,首先要解决的是相似度问题,我们知道 ...

  8. Java 8 表示两个时间点距离

    Java JDK8 的 java.time API 提供全面的 date 和 time 的模型. 下面是一个使用案例:求两个时间点的距离. package com.tony.test; import ...

  9. 素数距离问题_ny_24.java

    素数距离问题 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 2   描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距 ...

随机推荐

  1. Android 组件间通信--事件驱动

    在android中,组件间通信常用的方式: 1.使用广播机制:在主页面中监听特定的广播事件,进行业务逻辑的操作,其他页面只需要根据需求发送广播即可 例如:常用app结构中,左边通常为菜单栏,点击菜单栏 ...

  2. loadrunner Error -27985问题

    错误提示:Error -27985: There is no context for HTML-based functions. A previous function may not have us ...

  3. 力扣题解-面试题10- II. 青蛙跳台阶问题

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008, ...

  4. 「雕爷学编程」Arduino动手做(26)——4X4矩阵键盘模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  5. 「雕爷学编程」Arduino动手做(12)——霍尔磁力模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  6. APIView中的dispatch

    (1)dispatch方法详解----封装原有的request对象 (原request中的方法和属性均可直接在封装后的request中调用,或者使用request._request也可,如:reque ...

  7. YYTimer学习笔记

    参考资料: https://github.com/ibireme/YYKit/blob/master/YYKit/Utility/YYTimer.h https://www.jianshu.com/p ...

  8. Vue混入的详解

    简介     混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式.混入对象可以包含任意组件选项.当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项.钩子函数合并 ...

  9. window端口被占用

    一.问题描述 今天一来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所示的错误: 错误: 代理抛出异常错误: java.rmi.server.ExportExceptio ...

  10. 查看包名和Activity的小工具

    添加到右键菜单,很方便. 做个记录:请移步原文