LeetCode Solution, Medium, 5. Longest Palindromic Substring
找出最長的回文子字串
Jul 10, 20225 min read8
Search for a command to run...
Articles tagged with #algorithms
找出最長的回文子字串
簡介 Intro 以下取自維基百科 Manacher 於 1975 年發現了一種線性時間演算法,可以在列出給定字串中從任意位置開始的所有回文子串。並且,Apostolico, Breslauer & Galil 發現,同樣的演算法也可以在任意位置尋找全部極大回文子串,並且時間複雜度是線性的。因此,他們提供了一種時間複雜度為線性的最長回文子串解法。另外,Jeuring (1994), Gusfield (1997) 發現了基於字尾樹的演算法。也存在已知的高效並列演算法。 最長回文子串演算法(Lon...
Brent's Cycle Detection Algorithm (The Teleporting Turtle)
Floyd Cycle Detection Algorithm(Tortoise and Hare Algorithm)
找出連結序列的迴圈連接節點
簡介 Intro 此演算法是由 Joseph M. Morris 在 1979 年的論文「Traversing Binary Trees Simply and Cheaply」首次提出,因此稱之為 -- Morris traversal。其核心概念是利用樹中的空閒指針,縮減空間複雜度到常數。Morris traversal 主要是中序處理,但是修改後也是可以適用於前序和後序。 中序 In-Order 先初始化 root 作為當前節點 curr 當前節點 curr 不是 NULL 的時候,就往左...