給出二維平面上的n個點,求最多有多少點在同一條直線上。
樣例:
給出4個點:(1, 2), (3, 6), (0, 0), (1, 3)。
一條直線上的點最多有3個。
思想:
利用map
#ifndef c186_h
#define c186_h
#include
#include
#include
#include
using
namespace
std;
struct point
point(int a, int b) :x(a), y(b) {}
};class solution
double rate;
if (points[j].x - points[i].x == 0)//若斜率無限大,則將值設為int_max
else
if (m.find(rate) != m.end())//m中存在rate,則加1
m[rate] += 1;
else
m[rate] = 2;//若m中不存在,則有兩點,加2
}for (auto c : m)
}return num;
}};#endif
最多有多少個點在一條直線上
題目 給出二維平面上的n個點,求最多有多少點在同一條直線上。例子 給出4個點 1,2 3,6 0,0 1,3 一條直線上的點最多有3個。方法 取定乙個點points i 遍歷其他所有節點,然後統計斜率相同的點數 用map float,int 記錄斜率及其對應點數,取map中點數最多的斜率 並求取最大...
186 最多有多少個點在一條直線上
186.最多有多少個點在一條直線上 給出二維平面上的n個點,求最多有多少點在同一條直線上。樣例樣例 1 輸入 1,2 3,6 0,0 1,3 輸出 3 樣例 2 輸入 1,2 2,3 3,2 輸出 2 注意事項 x點和y點的座標值在 1000 1000之間 int findmax vector kv...
lintcode最多有多少個點在一條直線上
最多有多少個點在一條直線上 給出二維平面上的n個點,求最多有多少點在同一條直線上。您在真實的面試中是否遇到過這個題?yes 樣例給出4個點 1,2 3,6 0,0 1,3 一條直線上的點最多有3個。標籤 領英數學雜湊表 分析 這道題就是取乙個點point,然後計算其他的點與這個點的斜率,用乙個has...