练习:判断是否存在重复元素
解决1(通过字典)
思路:
- 第一步:创建一个空字典;
- 第二步:
for循环遍历nums列表,如果num在字典中,则字典中key的value值加1;
如果num不在字典中,那么key的value值设置为1; - 第三步:
遍历字典result;
如果存在value值 ≥ 2 时,那么返回 True;
如果没有,那么说明value值都是1;
再遍历结束后,返回 False
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
result = {}
for num in nums:
if num in result:
result[num] += 1
else:
result[num] = 1
for key,value in result.items():
if value >= 2:
return True
return False
解决2(通过集合)
学习答案:
执行用时:36 ms, 在所有 Python3 提交中击败了74.05%的用户
内存消耗:19.6 MB, 在所有 Python3 提交中击败了54.48%的用户
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
numSet = set()
for i in nums:
if i in numSet:
return True
else:
numSet.add(i)
return False
作者:bluegreenred
链接:https://leetcode-cn.com/problems/contains-duplicate/solution/217-cun-zai-zhong-fu-yuan-su-python-ha-x-6tfx/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。