class Solution: def singleNumber(self, nums) -> int: k={} i=0 while i < len(nums): m=nums[i] if m in k.keys(): k[m]=2 i+=1 else: k[m]=1 i+=1 for i,j in k.items(): if j==1: return i
用字典形式做的。
执行用时 :124 ms, 在所有 Python3 提交中击败了68.54%的用户
内存消耗 :16.1 MB, 在所有 Python3 提交中击败了5.03%的用户
应该还可以简化:
但是这样以后并没有优化到:
class Solution: def singleNumber(self, nums) -> int: k={} i=0 while i < len(nums): m=nums[i] if m in k.keys(): del k[m] i+=1 else: k[m]=1 i+=1 for i,j in k.items(): return i
耗时152ms
用了popitems()之后,性能有所优化:
class Solution: def singleNumber(self, nums) -> int: k={} i=0 while i < len(nums): m=nums[i] if m in k.keys(): del k[m] i+=1 else: k[m]=1 i+=1 return k.popitem()[0]
执行用时108ms,击败了78%的用户。
——2019.9.30