[LeetCode Online Judge]系列-求二维平面内在一条直线上的最大点数
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                [LeetCode Online Judge]系列-求二维平面内在一条直线上的最大点数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                2019獨角獸企業重金招聘Python工程師標準>>>
Max Points on a Line
Given?n?points on a 2D plane, find the maximum number of points that lie on the same straight line.
題目是:在2D平面內給N個點,求最多多少個點在一個直線上.
以下是AC的解決方式:
/***?Definition?for?a?point.*?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)?{Point?p1,p2;int?max_point?=?0;for?(int?i?=?0;?i?<?points.size()?-?max_point;?++i){p1?=?points.at(i);//?第一個點//這個地方一開始沒有減max_point是超時的,減了之后就AC了for?(int?j?=?i?+?1;?j?<?points.size()?-?max_point;?++j){Point?temp?=?points.at(j);//第二點已經找到if?(p1.x?!=?temp.x?||?p1.y?!=?temp.y){p2?=?temp;int?maxp?=?0;for?(int?k?=?0;?k?<?points.size();?++k){Point?p3?=?points.at(k);//?和p1相同,和p2相同,和p1,p2在同一直線if?((p3.x?==?p1.x?&&?p3.y?==?p1.y)?||?(p3.x?==?p2.x?&&?p3.y?==?p2.y)?||?((p3.x?-?p2.x)?*?(p1.y?-?p2.y))?==?((p3.y?-?p2.y)?*?(p1.x?-?p2.x))){maxp?++;}}if?(maxp?>?max_point){max_point?=?maxp;}}}}if?(max_point?==?0){max_point?=?points.size();}return?max_point;} };題目鏈接:
https://oj.leetcode.com/problems/max-points-on-a-line/
轉載于:https://my.oschina.net/zhaomengit/blog/269829
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的[LeetCode Online Judge]系列-求二维平面内在一条直线上的最大点数的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        