149直線上最多的點數(雜湊表 暴力)

2021-10-06 10:49:05 字數 701 閱讀 6649

1、題目描述

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

2、示例

輸入: [[1,1],[2,2],[3,3]]

輸出: 3

解釋:^

||        o

|     o

|  o  

+------------->

0  1  2  3  4

3、題解

基本思想:hahsmap+暴力,hashmap對重複出現的點計數,暴力三重迴圈,外面兩重迴圈兩點確定直線,最裡面一重迴圈遍歷其他所有的點是否在這條直線上。(避免斜率在很大的數相除會有精度損失,用乘法不用除法)

149 直線上最多的點數

思路 先用map將輸入的點去重 這裡要自定義比較函式 然後對於每乙個點,遍歷其後面的每乙個點,記錄在一條直線上的點的數目,在記錄的過程中維護最大值。開始時在map的自定義比較函式上面卡了殼,為此還得到codeblock這種ide除錯才看的出來,用vs的話比較函式少了const照樣能執行 defini...

LeetCode 149 直線上最多的點數

給定乙個二維平面,平面上有 n 個點,求最多有多少個點在同一條直線上。思路 兩點可以確定一條直線,那麼選擇固定乙個點,求其他點與固定點的斜率,如果斜率相同,那麼斜率相同的點在同一條直線上。注意點 1.儲存斜率可以使用雜湊表進行 2.測試資料中精度要求很高,使用double進行計算會出現錯誤,可以選擇...

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此題給了乙個陣列,...