题目描述
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line.
题意为:给定二维平面上的n个点,找到位于同一直线上的最大点数。
该题穷举即可,两次循环,穷举出所有可能
代码
/**
* Definition for a point.
* struct Point {
* int x;
* int y;
* Point() : x(0), y(0) {}
* Point(int a, int b) : x(a), y(b) {}
* };
*/
#include<algorithm>
#include<map>
class Solution {
public:
int maxPoints(vector<Point> &points) {
int size = points.size();
if(size==0)
return 0;
else if(size==1)
return 1;
int result = 0;
double x=0.0,y=0.0,k=0.0;
for(int i=0;i<size;i++)
{
int tempMax = 1;
map <double, int> Map;
//垂直点数(避免0除),重复点数
int vertp =