存在重复元素(python3)

存在重复元素(描述一):

  给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 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

解法一:
  思想:先对数组排序;再对数组进行遍历判断是否有重复
class Solution:
    def containsDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: bool
        """
        n = sorted(nums)
        L = len(n)
        i = 0
        while i < L - 1:
            if n[i] == n[i+1]:
                return True
            i += 1
        return False
            

解法二:
  1.set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
  2.这种做法的思想就是插入法判断数组有重复
class Solution:
    def containsDuplicate(self, nums):
        k = set()
        for i in nums:
            if i in k:
                return True
            else:
                k.add(i)
        return False

 存在重复元素(描述二):

给定一个整数数组,判断数组中是否有两个不同的索引 ij,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 ij 之间的差的绝对值最大为 k

示例 1:

输入: nums = [1,2,3,1], k= 3, t = 0
输出: true

示例 2:

输入: nums = [1,0,1,1], k=1, t = 2
输出: true

示例 3:

输入: nums = [1,5,9,1,5,9], k = 2, t = 3
输出: false

猜你喜欢

转载自www.cnblogs.com/yejiang/p/10298751.html
今日推荐