5448 判斷路徑是否相交

2021-10-07 13:47:19 字數 1250 閱讀 9308

題目鏈結

給你乙個字串 path,其中 path[i] 的值可以是 『n』、『s』、『e』 或者 『w』,分別表示向北、向南、向東、向西移動乙個單位。

機械人從二維平面上的原點 (0, 0) 處開始出發,按 path 所指示的路徑行走。

如果路徑在任何位置上出現相交的情況,也就是走到之前已經走過的位置,請返回 true ;否則,返回 false 。

示例 1:

輸入:path = "nes"

輸出:false

解釋:該路徑沒有在任何位置相交。

示例 2:

輸入:path = "nesww"

輸出:true

解釋:該路徑經過原點兩次。

1 <= path.length <= 10^4

path 僅由 中的字元組成

4個方向移動可以定義2個遍歷分別表示橫向移動和縱向移動,遍歷字串每個字元,對操作相應方向之後的路徑位置進行記錄(加入lists中),只需判斷lists中是否有重複的位置即可。

這裡判斷lists中是否有重複的元素的方法是將lists中元素加入hashset中,判斷hashset的大小和lists的大小是否相等。

判斷樹上路徑是否相交

判斷方法 在一棵樹上,對於路徑 x,y 和路徑 u,v 判斷它們相交,等價於判斷是否滿足 lca u,v 在路徑 x,y 上,or,lca x,y 在路徑 u,v 上。引理1 對於樹上路徑 a,b 的任意乙個點 x,路徑的深度最小的點,即 lca a,b 必然在 x 到這棵樹的根的路徑上。引理2 對...

Python 判斷路徑是否為目錄或檔案

os.path.isdir os.path.isfile os.listdir os.walk os.path.isdir 函式 判斷某一路徑是否為目錄 os.path.isdir path os.path.isfile 函式 判斷某一路徑是否為檔案 os.path.isfile path path...

判斷矩形是否相交

假定矩形是用一對點表達的 minx,miny maxx,maxy 那麼兩個矩形 rect1 rect2 相交的結果一定是個矩形,構成這個相交矩形rect的點對座標是 minx max minx1,minx2 miny max miny1,miny2 maxx min maxx1,maxx2 maxy...