不多說甚麼,順一下解題邏輯。
如果要得知元素其值+1是否也存在於數列內,就得找完所有數列,並記錄元素是否有出現。
如果有重複出現,像是 1 1 2 2, 1 出現兩次且 2 在數列內,所以答案要加兩次。
於是記錄元素出現的時候,就要順便把其出現次數記錄下來。
最後跑完 memo 的鍵,鍵就是出現過的元素,若元素+1也在 memo 裡,答案就加上該元素的出現次數。
class Solution: def countElements(self, arr: List[int]) -> int: memo = dict() for num in arr: if num in memo: memo[num] += 1 else: memo[num] = 1 result = 0 for key in memo: if key+1 in memo: result += memo[key] return result