給定兩條線段(表示為起點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,...