美文网首页
Day44作业题:使用Day43 的方法判断是否存在重复元素

Day44作业题:使用Day43 的方法判断是否存在重复元素

作者: 快乐的老周 | 来源:发表于2020-07-13 22:50 被阅读0次

    Day44作业题:使用Day43 的方法判断是否存在重复元素

    做到空间复杂度O(1)

    Day43的方法 https://t.zsxq.com/FQzFujY

    在LeetCode217题上额外加一个条件:数组可能的取值范围:[1,n],基于此判断是否存在重复元素。

    如果任意一值在数组中出现至少两次,函数返回 True 。如果数组中每个元素都不相同,则返回 false 。

    示例 1:

    输入: [1,2,3,1]

    输出: True

    示例 2:

    输入: [1,2,3,4]

    输出: false

    示例 3:

    输入: [1,1,1,3,3,4,3,2,4,2]

    输出: True

    Leecode: https://leetcode-cn.com/problems/contains-duplicate/

    class Solution:
    def containsDuplicate(self, nums) -> bool:
    for index, num in enumerate(nums):
    key = abs(nums[index]) -1
    if nums[key] <0:
    return True
    else:
    nums[key] = -nums[key]
    return False

    def test_solution():
    s = Solution()
    nums = [1,2,3,1]
    assert s.containsDuplicate(nums) == True
    nums = [1,2,3,4]
    assert s.containsDuplicate(nums) == False
    nums = [1,1,1,3,3,4,3,2,4,2]
    assert s.containsDuplicate(nums) == True

    相关文章

      网友评论

          本文标题:Day44作业题:使用Day43 的方法判断是否存在重复元素

          本文链接:https://www.haomeiwen.com/subject/zucthktx.html