1.7k2 分鐘

# 題目 輸入一個字串 s,要找出最長的不含重複字元的子字串長度。 例子: s = "abcabcbb" → 答案是 3 ("abc") s = "bbbbb" → 答案是 1 ("b") s = "pwwkew" → 答案是 3 ("wke") # Sliding Window 上圖是大概的 Sliding Window 概念,用 set() 去重,並且用兩個指標 l 和 r 來表示目前的子字串範圍,然後不斷地擴展 r 直到遇到重複字元,
2.2k2 分鐘

# 題目 輸入一個只包含 ()[]{} 的字串,判斷它是否為「有效括號」。 input string 只有在以上狀況才視為 valid: 每個開括號都有對應的閉括號,且順序正確。 開括號與閉括號的類型必須相同。 Example: s = "()" # True s = "()[]{}" # True s = "(]" # False s = "([)]" #
2.4k2 分鐘

# 題目 給定一個非遞減排序(non-decreasing order)的整數 nums 陣列 nums,請 in-place 原地修改原陣列移除所有重複的元素,使每個元素只出現一次,並返回移除重複元素後的陣列長度。 重點 in-place 就是不能回傳一個新的 List 此題已有三個要素 陣列已經排序(Sorted) 所有重複的元素都會相鄰出現 保持 O(1) 額外空間 題目要求: 原地(in-place)移除重複元素 不能用額外的陣列來儲存答案 只能在原陣列 nums 上修改 每個不重複的元素只保留一次 保持原本的相對順序 函式要回傳不重複元素的數量 k 從上述能看出這題目標就是想
2k2 分鐘

# 題目 給定一個整數陣列 numbers 和一個目標數字 target,請找出 numbers 中兩個數字的和等於 target,並返回它們的索引。假設每個輸入只會有一個解,並且你可以假設每個輸入的數字都是唯一的。 # 三種解法 這題跟 Two Sum 最大的差別是,這邊 INPUT: 的 numbers 陣列是 sorted 的,所以題目會提示我們用更有效率的解法 # Two Pointers 類型整理 類型 移動方式 (關鍵邏輯) 核心目的 (解決的問題) 範例題 Opposite Direction 兩端向中間收斂,每次依條件只動一邊。 在有序數組中,高效尋找配對或縮小搜
5.6k5 分鐘

# 1. 安裝套件 pip install line-bot-sdk python-decouple python-dotenv 記得更新 requirements.txt,在正式主機上部署時記得下載,別像我很笨的卡在回傳 502 error,結果 systemctl 一看才發現是 No module named 'linebot' pip freeze > requirements.txt # 2. LINE Developer Console & LINE Official Account Manager 設定 前往 LINE Developers Conso
2.8k3 分鐘

# 問題 直接先看問題,原本照下方程式碼這樣子去調用 fetchCustomerData() 的話,會出現 React Hook useEffect has a missing dependency: 'fetchCustomerData'. Either include it or remove the dependency array. 的警告訊息 ... useEffect(() => { fetchCustomerData(); }, [customerId]); const fetchCust
5.1k5 分鐘

# 前言 本篇著重在從開發環境切換至 uWSGI 正式環境需改動的地方,而不是從 0 開始,所以會更精簡,詳細從開始部署以及更詳細的參數解釋可參考 透過 Nginx 部署 Django 至私有主機 # Django 開發伺服器轉向 uWSGI 的優點 Django 的 python manage.py runserver 是一個開發伺服器,而 uWSGI 是生產級別(Production Deployment)的應用伺服器 使用 uWSGI 而不是開發伺服器的原因: 性能優化:uWSGI 可生成多個工作進程來將傳入的請求並行化到多個 CPU 核心,才能處理高流量網站。 安全性更高:Djang
5.5k5 分鐘

# 自訂上傳圖片目的地 透過 imgur 來管理專案圖片是不理想的且 imgur 的圖片連結也會隨著時間而失效 MARTOR_UPLOAD_PATH : 儲存圖片的資料夾路徑目的地 MARTOR_UPLOAD_URL : 上傳圖片的 API URL(views) # backend/settings.py ... # Upload to locale storage MARTOR_UPLOAD_PATH = 'images/uploads/{}'.format(time.strftime("