題目:原題鏈接(簡單)
解法 | 時間複雜度 | 空間複雜度 | 執行用時 |
---|---|---|---|
Ans 1 (Python) | O(n) | O(n) | 44ms (92.14%) |
LeetCode的Python執行用時隨緣,只要時間複雜度沒有明顯差異,執行用時一般都在同一個量級,僅作參考意義。
解法一(哈希表):
def getHint(self, secret: str, guess: str) -> str:
s_map = {}
g_map = {}
bulls = 0
for i in range(len(secret)):
if secret[i] == guess[i]:
bulls += 1
else:
if secret[i] not in s_map:
s_map[secret[i]] = 1
else:
s_map[secret[i]] += 1
if guess[i] not in g_map:
g_map[guess[i]] = 1
else:
g_map[guess[i]] += 1
cows = 0
for s in s_map:
if s in g_map:
cows += min(s_map[s], g_map[s])
return str(bulls) + "A" + str(cows) + "B"