1.题目:
561.数组拆分(Easy)
题目描述:
1.代码:
class Solution:
def arrayPairSum(self, nums: List[int]) -> int:
nums.sort()
N = len(nums)
Sum = 0
for i in range(0,N,2):
Sum += nums[i]
return Sum
通过截图:
我真是爱死sort了!哈哈哈哈哈哈哈!
简化版:
class Solution:
def arrayPairSum(self, nums: List[int]) -> int:
nums.sort()
return sum(nums[::2])
截图:
2.题目:
217.存在重复元素(Easy)
题目描述:
2.代码:
#最简单得想法,哈希表,遇到相同加入表,值加一,最后判断是否大于0返回。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
dict = {}
Table = 0
for i in nums:
if i in dict:
Table+=1
else:
dict[i]=0
if Table > 0:
return True
else:
return False
通过截图:
#在原有基础上优化,检测到存在直接返回 True,不需要一定等遍历完。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
dict = {}
Table = 0
for i in nums:
if i in dict:
return True
else:
dict[i]=0
return False
通过截图:
#快速算法,两行。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(nums) != len(set(nums))
# set创建一个无序的不重复元素序列
通过截图: