Skip to content

RobbinHsu/LeetCodeExample

Repository files navigation

Length Of Longest Substring

Sliding Window

  1. 不同字元

    • 加長window(右邊指標+1)
    • 紀錄目前字串長度
  2. 相同字元

    • 刪除左邊指標的字元,直到左右邊字元相同

基本做法

  • 利用dictionary儲存目前字串
  • 如果char已經出現過,和之前的字串長度做比較,儲存最大值
  • 索引起始點定位成這次char的位置,下次迴圈將char的下一個位置開始執行
  • 避免字串完全沒重複,回傳答案之前再比一次
  • 因為每一次遇到重複char,就要以那個char為起點重跑一次迴圈,所以效率低

ValidParentheses

  • 遇到左括號就push
  • 遇到又括號就 TryPop
  • 如果左右括號都match的話,stack應該為空

TwoNumber

思路

  1. 要注意的就是list1跟list2長度可能不一樣
  2. 相加後可能比9還大,需要考慮進位的情況

解題方法

  1. 迴圈
  • 要運用傳址呼叫的技巧,一開始讓point只給要回傳的結果,之後把下一個節點只給point,讓point前進 。
  1. 遞迴
  • 停止條件 l1 l2為空,而且沒有進位。
  • l1和l2相加後,將兩列node和進位結果傳入遞迴呼叫。

Two Sum

思路

  1. 陣列無限大,回傳第一個組合即可
  2. 製作索引的同時也要比較是否有符合條件的配對

解題方法

  1. 雙重迴圈
  • 時間複雜度O(n^n)
  1. 單迴圈
  • 用target減去陣列數字選出對應的候選數字
  • 當候選數字出現時,回傳候選數字位址當下數字位址
  • 記錄陣列每個數字的值和位址

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages