ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

找出距离最小的点对

2021-01-14 23:59:24  阅读:193  来源: 互联网

标签:minI 找出 minDis int double arr 距离 最小 minJ


在这里插入图片描述

分析

依次把每个点作为起点,计算和其余点的距离,保留更小的距离

	double[][] arr = {
			{1,1},
			{1,0.5},
			{2,1},
			{3,4},
			{2.2,1},
			{1,7},
			{4,1.8},
			{1.1,9},
			{3,5},
			{5,6}
	};
	double minDis = Double.MAX_VALUE;
	int minI=0;
	int minJ=0;
	//依次把每个点作为起点
	for(int i=0;i<arr.length;i++) {
		//计算和其余点的距离
		for(int j=i+1;j<arr.length;j++) {
			double x1 =arr[i][0];
			double x2=arr[j][0];
			double y1 =arr[i][1];
			double y2=arr[j][1];
			double dis=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));//勾股定理
			if(dis<minDis) {
				minDis=dis;
				minI=i;
				minJ=j;
			}
		}
	}
	System.out.println("最小距离的点为:("+arr[minI][0]+","+arr[minI][1]+")("+arr[minJ][0]+","+arr[minJ][1]+"距离为:"+minDis);

rr[minJ][0]+","+arr[minJ][1]+“距离为:”+minDis);




标签:minI,找出,minDis,int,double,arr,距离,最小,minJ
来源: https://blog.csdn.net/ChEnylnti/article/details/112645296

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有