class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
return len(set(nums)) != len(nums)
这是我第一次使用LeetCode做题时,发现这和我们学习的Python基础有所不同。
查阅资料发现:这是3.5版本中的新功能。你可以自行查看文档:
https://docs.python.org/3.5/library/typing.html
def containsDuplicate(self, nums: List[int]) -> bool:
这其实就是“类型提示”
nums: List[int] 表示nums参数是整数列表类型。
->bool 表示该函数的返回值是布尔类型。
因为是“类型提示”,所以这并没有硬性要求。如果你传入值的类型与提示的类型不一样或者该函数返回的类型不同于提示类型也不会导致程序运行错误。
也就是说:类型提示只是个“提示”,故意写错也不会影响程序运行。但是既然都提示了,何必又要专门错着写呢。
例如:
class Solution:
def maxSubArray(self, nums: List[int]) -> int:
for i in range(1, len(nums)):
nums[i]= nums[i] + max(nums[i-1], 0)
return max(nums)
这个段代码中def maxSubArray(self, nums: List[int]) -> int:
类型提示:nums是整数列表类型,函数的返回值为int类型