在二维平面上给定n点,找出在同一直线上的最大点数。

题目:

在二维平面上给定n点,找出在同一直线上的最大点数。
给出点的定义:
public class Point {
	int x;
	int y;
	Point() { x = 0; y = 0; }
	Point(int a, int b) { x = a; y = b; }
}
思路:

对于第i个点,
从第1次,遍历i+1到最后一个点,判断与第i 个点的关系;
从第2次,遍历i+2到最后一个点,判断与第i 个点的关系;
满足 在相同位置 或 斜率相同 都符合条件

代码:
public class HelloJava {
	public int maxPoints(Point[] points) {
		// 0个点
		if (points.length == 0) {
			return 0;
		}
		//1个点 || 2个点
		if (points.length <= 2) {
			return points.length;
		}
		//多于2个点
		int max=2;
		for(int i=0;i<points.length;i++) {
			int samePosition=0;//相同位置的点
			int sameSlope=1;//相同斜率的点
			for(int j=i+1;j<points.length;j++) {
				int positionX=points[j].x-points[i].x;
				int positionY=points[j].y-points[i].y;
				
				if(positionX==0&&positionY==0) {  //是相同位置
					samePosition++;
				}else {   //是相同斜率
					sameSlope++;
					for(int k=j+1;k<points.length;k++) {
						int positionX2=points[k].x-points[i].x;
						int positionY2=points[k].y-points[i].y;
						if(positionX*positionY2==positionY*positionX2) {
							sameSlope++;
						}
					}
				}
				if(max<samePosition+sameSlope) {
					max=samePosition+sameSlope;
				}
				sameSlope=1;
			}
		}
		return max;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CloudCompare是一款用于云处理和分析的开源软件。它支持对云数据进行三维可视化、分割、配准和测量等操作。虽然CloudCompare是主要面向三维云数据的处理,但我们也可以通过一些方法将云数据导出到二维平面上。 首先,我们可以使用CloudCompare的可视化功能来显示云数据。打开软件后,导入云文件并选择查看功能。通过调整视角,我们可以将云数据在三维空间中显示出来。 其次,我们可以使用CloudCompare的截图功能将云数据导出为二维平面上的图像。在可视化云数据的界面下,选择截图工具,然后通过拖动鼠标来选择想要截取的区域。完成选择后,CloudCompare将会生成一个包含云数据的图像文件,可以保存为常见的图片格式(如JPEG、PNG等)。 另外,我们还可以使用CloudCompare的测量功能来提取云数据在二维平面上的坐标信息。在云数据可视化界面下,选择测量工具,然后通过击想要测量的来获取它们的坐标信息。通过重复这个操作,我们可以逐步获取云数据中所有坐标,并记录它们在二维平面上的位置。 总之,虽然CloudCompare是一个主要面对三维云数据的处理软件,但通过可视化、截图和测量等功能,我们可以将云数据导出到二维平面上。这样,我们可以通过图像或坐标信息来进一步使用、分析和处理这些云数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值