Upon solving the problem 'contain duplicates` in leetcode: > Given an array of integers and an integer *k* , find out whether there are two distinct indices *i* and *j* in the array such that **nums[i] = nums[j]** and the **absolute** difference between *i* and *j* is at most *k* . > > **Example 1:** > > ``` > > Input: nums = [1,2,3,1] , k = 3 > > Output: true > > ``` > > > > **Example 2:** > > > ``` > > Input: nums = [1,0,1,1] , k = 1 > > Output: true > > ``` > > > > **Example 3:** > > > ``` > > Input: nums = [1,2,3,1,2,3] , k = 2 > > Output: false > > ``` I tried best to write a Pythonic style solution and improve the performance. class Solution2: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: lookup = dict() #{value:index} for cur, val in enumerate(nums): prev = lookup.get(val) if prev != None and cur - prev <= k: #logging.debug(f"{cur - prev}") return True lookup[val] = cur #add it to lookup return False > Runtime: 68 ms, faster than 12.21% of Python3 online submissions for Contains Duplicate II. Memory Usage: 20.4 MB, less than 13.64% of Python3 online submissions for Contains Duplicate II. I am confused about the score. I was 100% assure that it was the best possible solution. What's the problem with my solution?