最多有多少個點在一條直線上

2021-07-05 07:06:00 字數 642 閱讀 1583

題目:給出二維平面上的n個點,求最多有多少點在同一條直線上。

例子:給出4個點:(1, 2), (3, 6), (0, 0), (1, 3)。一條直線上的點最多有3個。

方法:取定乙個點points[i], 遍歷其他所有節點, 然後統計斜率相同的點數(用map(float, int) 記錄斜率及其對應點數,取map中點數最多的斜率),並求取最大值即可。

class solution 

float k = points[i].x == points[j].x ? int_max : (float)(points[j].y - points[i].y)/(points[j].x - points[i].x);

mp[k]++;

}unordered_map

::iterator it = mp.begin();

for(; it != mp.end(); it++)

if(it->second + duplicate > maxnum)

maxnum = it->second + duplicate;

}return maxnum;

}};

最多有多少個點在一條直線上 LintCode

給出二維平面上的n個點,求最多有多少點在同一條直線上。樣例 給出4個點 1,2 3,6 0,0 1,3 一條直線上的點最多有3個。思想 利用map ifndef c186 h define c186 h include include include include using namespace ...

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...