項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 widget-area-1 尚未註冊或是沒有一個 view.php 檔案.
項目 search-input 尚未註冊或是沒有一個 view.php 檔案.

【Leetcode】python – [2186] Minimum Number of Steps to Make Two Strings Anagram II 個人解法筆記 (內含範例程式碼)

題目出處

weekly-contest-282

2186. Minimum Number of Steps to Make Two Strings Anagram II

難度

Medium

題目分類

個人範例程式碼

class Solution:
    def minSteps(self, s: str, t: str) -> int:
        ans = len(s) + len(t)
        for same_word in (set(s) & set(t)):
            ans -= min(Counter(s)[same_word], Counter(t)[same_word])*2 # two side skip step

        return ans

Time Complexity

O(n)

算法說明

最大步數為 len(s) + len(t),我們再去看要減少多少就好。
統計每個字元後,用 set 取「交集」,找出重複的字元數量

corner case 特殊情況處理

x

Boundary conditions/ Edge conditions 邊際情況處理

  • 注意:因為兩組字母是雙向的減少步驟,因此在減少步數時「需要*2

Reference

⭐ Leetcode 解題紀錄 ⭐題型資料結構Python SolutionC++ SolutionNote
⭐BFS 相關題型 ⭐
104Maximum Depth of Binary TreeBFS (分層)Python
94Binary Tree Inorder TraversalBFS (分層)TreePython 內含 處理 Tree 樹問題的重點
102Binary Tree Level Order TraversalBFS (分層)TreePython
103Binary Tree Zigzag Level Order TraversalBFS (分層)TreePython
107Binary Tree Level Order Traversal IIBFS (分層)TreePython
133Clone GraphBFS (分層)GraphPython Graph 的基本操作 #重要題型
127Word LadderBFS (分層), DFSGraphPython
[Lint] 127Topological SortingBFS (拓撲)Python
內有 indegree, outdegree 介紹 #重要題型
207Course ScheduleBFS (拓樸)GraphPython
210Course Schedule IIBFS (拓樸)GraphPython
[Lint] 892Alien DictionaryBFS (拓樸)GraphPython
[Lint] 431Connected Component in Undirected GraphBFS (連通塊)GraphPython 內含 BFS 模板 #重要題型
1091Shortest Path in Binary MatrixBFS (最短路徑)MatrixPython