点击打开链接
struct Point {
int x;
int y;
Point() : x(0), y(0) {}
Point(int a, int b) : x(a), y(b) {}
};
class Solution {
public:
int maxPoints(vector<Point>& points) {
if(points.empty()) return 0;
int res = 1;
for(int i=0; i<points.size(); i++){
map<long double, int> Map;
int duplicates = 0, verticals = 1;
for(int j=i+1; j<points.size(); j++){
if(points[i].x == points[j].x){
verticals +=1;
if(points[i].y == points[j].y) duplicates += 1; //重合的点可以放在任何一个组里
}
}
for(int j=i+1; j<points.size(); j++){
if(points[i].x != points[j].x){
long double slope