LeetCode 149 直線上最多的點數

2021-08-22 13:30:26 字數 581 閱讀 9095

給定乙個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。

思路:兩點可以確定一條直線,那麼選擇固定乙個點,求其他點與固定點的斜率,如果斜率相同,那麼斜率相同的點在同一條直線上。

注意點:

1.儲存斜率可以使用雜湊表進行;

2.測試資料中精度要求很高,使用double進行計算會出現錯誤,可以選擇使用bigdecimal進行高精度計算。

ac**:

public int maxpoints(point points) 

string index = "";

if(points[i].x == points[j].x)

else

int count = 1;

if(map.get(index) != null)

map.put(index,count);

}for(map.entryentry : map.entryset())

maxnum = maxnum > repeat ? maxnum : repeat;

}return maxnum;

}

LeetCode 149 直線上最多的點數

給定乙個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。示例 1 輸入 1,1 2,2 3,3 輸出 3解釋 o o o 0 1 2 3 4示例 2 輸入 1,1 3,2 5,3 4,1 2,3 1,4 輸出 4解釋 o o o o o o 0 1 2 3 4 5 6此題給了乙個陣列,...

LeetCode 149 直線上最多的點數

給定乙個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。示例 1 輸入 1,1 2,2 3,3 輸出 3 解釋 o o o 0 1 2 3 4 示例 2 輸入 1,1 3,2 5,3 4,1 2,3 1,4 輸出 4 解釋 o o o o o o 0 1 2 3 4 5 6?對每乙個點...

leetcode149 直線上最多的點數

寫這道題的原因很簡單,就是因為答題通過率低,想挑戰一下 我的想法很簡單,就是乙個乙個點試,新建乙個實體類來表示斜率 表示斜率的實體類 class noden else if b 0 else int g gongyue a,math.abs b x a g y b g int gongyue int...