Lint Code 最多共線的點的個數

2022-02-13 12:07:47 字數 837 閱讀 3369

條件:給乙個點陣列

目標:求出共線的點的最多個數

實現:時間複雜度——o(n^2)

要考慮的特殊情況是:①有相同點(這個也太特喵隱蔽了)②斜率不存在的點

思路:暴力求解,遍歷每乙個點,與他之後的點進行匹配,用乙個map儲存斜率對應的個數。

**:

/*

* * definition for a point.

* struct point

* point(int a, int b) : x(a), y(b) {}

* }; */

class

solution

return

true

; }

void change(map &res,double k,int &num)

}int maxpoints(vector&points)

num=1

;

point point_i,point_j;

double

k;

for(int i=0;i)

else

if(point_j.x-point_i.x == 0 && point_j.y-point_i.y !=0

)else

}else

if(point_j.x-point_i.x != 0

)else}}

if(res.empty())

}for(it=res.begin();it!=res.end();it++)}}

return

num;}};

view code

Lintcode 裝最多水的容器

給定 n 個非負整數 a1,a2,an,每個數代表了座標中的乙個點 i,ai 畫 n 條垂直線,使得 i 垂直線的兩個端點分別為 i,ai 和 i,0 找到兩條線,使得其與 x 軸共同構成乙個容器,以容納最多水。注意事項 容器不可傾斜。您在真實的面試中是否遇到過這個題?yes 樣例給出 1,3,2 ...

裝最多水的容器 LintCode

給定 n 個非負整數 a1,a2,an,每個數代表了座標中的乙個點 i,ai 畫 n 條垂直線,使得 i 垂直線的兩個端點分別為 i,ai 和 i,0 找到兩條線,使得其與 x 軸共同構成乙個容器,以容納最多水。注意事項 容器不可傾斜。樣例 給出 1,3,2 最大的儲水面積是2.ifndef c38...

求二維平面上共線最多的點數

思想為 統計每個點的各個斜率的直線上有多少個點 c include include include include include 隨機數通用公式 a rand n 其中的a是起始值,n是整數的範圍 要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的隨機整數,使用 rand ...