leetcode解題之交點

2021-10-04 22:53:32 字數 1234 閱讀 4210

給定兩條線段(表示為起點start = 和終點end = ),如果它們有交點,請計算其交點,沒有交點則返回空值。

要求浮點型誤差不超過10^-6。若有多個交點(線段重疊)則返回 x 值最小的點,x 座標相同則返回 y 值最小的點。

示例 1:

輸入:line1 =

,line2 =

,輸出:

示例 2:

輸入:line1 =

,line2 =

,輸出:

示例 3:

輸入:line1 =

,line2 =

,輸出: ,兩條線段沒有交點

座標絕對值不會超過 2^7

輸入的座標均是有效的二維座標

這是一道數學幾何題,考察的知識點比較專業,抄一下作業學習一下好了

class

solution

// 判斷 (x4, y4) 是否在「線段」(x1, y1)~(x2, y2) 上if(

isinside

(x1, y1, x2, y2, x4, y4)

)// 判斷 (x1, y1) 是否在「線段」(x3, y3)~(x4, y4) 上if(

isinside

(x3, y3, x4, y4, x1, y1)

)// 判斷 (x2, y2) 是否在「線段」(x3, y3)~(x4, y4) 上if(

isinside

(x3, y3, x4, y4, x2, y2))}

}else}if

(ans[0]

== double.max_value)

return ans;

}// 判斷 (x, y) 是否在「線段」(x1, y1)~(x2, y2) 上

// 這裡的前提是 (x, y) 一定在「直線」(x1, y1)~(x2, y2) 上

private

boolean

isinside

(int x1,

int y1,

int x2,

int y2,

int x,

int y)

private

void

updateres

(double

ans,

double x,

double y)

}}

Leetcode解題思路

所有簡單題的解題思路。question count the number of prime numbers less than a non negative number,n example input 10output 4explanation there are 4 prime numbers ...

LeetCode 面試題 16 03 交點

給定兩條線段 表示為起點start 和終點end 如果它們有交點,請計算其交點,沒有交點則返回空值。要求浮點型誤差不超過10 6。若有多個交點 線段重疊 則返回 x 值最小的點,x 座標相同則返回 y 值最小的點。示例 1 輸入 line1 line2 輸出 示例 2 輸入 line1 line2 ...

leetcode 解題 加一

給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存乙個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。示例 2 輸入 4,3,2,1 輸出 4,3,...