leetcode with python:217. Contains Duplicate

题目:

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

给定一个阵列,判断里面的值是否都是独一无二的

这题用简单的hash set就能实作

class Solution:    def containsDuplicate(self, nums: List[int]) -> bool:        s=set()        for i in nums:            if i not in s:                s.add(i)            else:                return True        return False

从头开始遍历,纪录经过的值
一发现值已经在set内,return False
若都没发现重複的值则return True
最后执行时间445ms(faster than 99.04%)

更狠一点还能这样写

class Solution:    def containsDuplicate(self, nums: List[int]) -> bool:        return len(nums) != len(set(nums))

将阵列转set,若长度不同则代表有重複的数存在
最后执行时间472ms(faster than 92.76%)

那我们下题见


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章