こんにちは
今回の学びは
・特になし
問題は。。。
(時間配分は5分問題理解 10分検討 10分実装 20分振り返り の一文45分構成)
まずは入出力をしっかりおさえましょう。
最初に前もって空文字の時はtrueでいいよね。という疑問を自己解答を考えることができたのは
良い点です
ハッシュを利用して
Space O(N)で
処理もO(N*2)なので O(N)というアルゴリズムです
実際の実装はこちら
所要時間はだいたい10分ですが、まだ遅いと思いますので
だんだん早くしていきましょう
from collections import defaultdict class Solution: def isAnagram(self, s: str, t: str) -> bool: length = len(s) if length != len(t): return False ZERO = defaultdict(int) for i in range(length): ZERO[s[i]] += 1 ZERO[t[i]] -= 1 for c, n in ZERO.items(): if n != 0: return False return True
実装後です。timespace analysis (時間とスペースの分析)は ◯◯
まとめ
以上です