71. Simplify Path - Medium 前往題目 想法 stack 思路這題不難,不過edge case很多,要一次想出完美的條件判斷不容易 先用/分開 疊代分開後的每個部分 遇到.或是空的就跳過,因為不用做任何處理,直接忽略就好 遇到..就把上一個東西刪掉 其餘就都記錄下來 最後重新拼裝就好了 Codeclass Solution { public String simplifyPath(String pat 2024-08-16 Leetcode > Medium #Leetcode #心得 #Stack #String
901. Online Stock Span - Medium 前往題目 想法 Stack,但無從下手 思路 next()時,預設span為1 stack裡如果有<= price的,就pop然後加到當前span直到stack裡的數比當前price還要大。如此一來就可以捨去一些數字,因為span都儲存在後來的數字裡 結束前把新的price以及span推進stack 變成Monotonic decreasing的stack Code class St 2024-08-15 Leetcode > Medium #Leetcode #心得 #Stack #Monotonic Stack #Design #Data Stream
946. Validate Stack Sequences - Medium 前往題目 想法 stack 疊代pushed的部分,去匹配popped的元素 思路 循環pushed 每次循環都看stack的頂端是否和popped的元素相符 相符就pop,不相符就繼續 最後看stack是否為空判斷 Code class Solution { public boolean validateStackSequences(int[] pushed, int[ 2024-08-06 Leetcode > Medium #Leetcode #心得 #Stack #Array #Simulation
2390. Removing Stars From a String - Medium 前往題目 想法 Stack 思路這題很簡單遇到米字號直接pop Codeclass Solution { public String removeStars(String s) { Stack<Character> stack = new Stack(); for (char c : s.toCharArray()) 2024-08-06 Leetcode > Medium #Leetcode #心得 #Stack #String #Simulation
1544. Make The String Great - Easy 前往題目 想法 Stack 思路 循環每個字符 找到bad string時,彈出,其他都push到stack 建構答案並回傳 Codeclass Solution { public String makeGood(String s) { Stack<Character> stack = new Stack<>(); / 2024-08-05 Leetcode > Easy #Leetcode #心得 #Stack #String
225. Implement Stack using Queues - Easy 前往題目 想法 用兩個queue,雖然題目也有寫 思路這題很簡單,注意前後順序就好 push: 看哪個queue不是空的就放哪個pop: 看哪個是空的,把另一個queue的元素搬過來,最後剩一個直接回傳top: 一樣看哪個是空的,搬過去,剩下最後一個記錄下來回傳,也要辦過去另一個queueempty: 看兩個queue是否都為空 只用一個queue的反而更簡單,只要每次push的時候都反轉使其 2024-08-02 Leetcode > Easy #Leetcode #心得 #Stack #Queue #Design
682. Baseball Game - Easy 前往題目 想法 Stack 思路 疊代所有操作 每次根據其操作來更新stack(遇到+直接退出前兩個加起來再重新入stack) 彈出所有數字算出總和 Codeclass Solution { public int calPoints(String[] operations) { Stack<Integer> s = new Stack(); 2024-08-01 Leetcode > Easy #Leetcode #心得 #Stack #Array #Simulation
Fluid VSCode Extension-一款為Hexo框架Fluid主題打造的擴展 介紹這個擴展是為使用Fluid主題的Hexo用戶量身定製的,提供自動語句片段貼上功能 功能透過輸入和選擇命令來貼上語句 使用方法 從market安裝,或是vscode裡面直接搜尋Hexo Snippet Paste Tool for Fluid安裝 F1打開命令面板 輸入Fluid Paste Tool,基本上不需要全部輸入就會顯示這個擴展的命令,輸入幾個字符後應該會看到如下所示的命令列表 所有可 2024-07-30 Project > VSCode #Fluid #Hexo #Plugin #擴展 #VSCode
1343. Number of Sub-arrays of Size K and Average Greater than or Equal to Threshold - Medium 前往題目 想法 Sliding window 思路簡單的那種固定window size的 每次循環都更新總和 檢查平均,如果滿足threshold加入結果 循環結束前都移動左指針並且從sum減去相對應的數字 Codeclass Solution { public int numOfSubarrays(int[] arr, int k, int threshold) 2024-07-30 Leetcode > Medium #Leetcode #心得 #Array #Sliding Window
2958. Length of Longest Subarray With at Most K Frequency - Medium 前往題目 想法 經典Sliding window 思路 左右指針 每次循環移動右指針,更新右指針數字的數量 如果發現invalid window移動左指針直到window為valid 更新window的大小 這次完整的自己寫出來一次AC,而且花不到兩分鐘👍 Code class Solution { public int maxSubarrayLength(int[] 2024-07-29 Leetcode > Medium #Leetcode #心得 #Array #Hash Table #Sliding Window