python - Can this solution to "Contains Duplicate" be done more Pythonically?
问题描述
这是 LeetCode 问题“包含重复”的解决方案。我尝试使用enumerate(nums[1:])
而不是range(1, len(nums))
,但由于枚举始终从 0 开始,我无法弄清楚如何以简洁明了的方式执行此操作。
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
nums.sort()
pointer2 = 0
for pointer1 in range(1, len(nums)):
if nums[pointer1] == nums[pointer2]:
return True
pointer2 = pointer1
return False
解决方案
使用套装。我们知道集合不能有重复值,所以当我们将整数列表转换为集合时,它会删除重复值。然后我们要做的就是比较两个长度。尝试这个:
return len(set(nums)) == len(nums)
推荐阅读
- react-native - React Native 已经有了异步存储。为什么我应该在我的 react native 应用程序中使用 Redux 和 Redux Thunk?
- javascript - 单击reactjs中的按钮时如何打印多个文本区域
- python - Coursera URL 网页抓取
- perl - 在子例程中......使用return来获取数组的一些元素
- c# - 调用 Directory.Move(..., ...) 时拒绝访问路径异常
- azerothcore - 艾泽拉斯核自动平衡伤害计算
- c# - c# treeview 中的 MouseDoubleClick 事件仅在双击节点时发生
- c# - 汇总Listview中一列的所有数字
- python-3.x - 使用打印格式不适用于 csv 中的 DictWriter - python
- linux - 如何在 Vim 中保持语法颜色但禁用突出显示?