ITPub博客

首页 > 应用开发 > > 技术干货:如何判断一个整数数组是否存在重复元素......

技术干货:如何判断一个整数数组是否存在重复元素......

作者:u_151d1ef45539 时间:2019-10-11 17:08:27 0 删除 编辑

今日问题:

给定一个整数数组,你如何判断是否存在重复元素。

如果任何值在数组中出现至少两次,函数返回 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

解题思路:

排序数组,连续两个数相等则证明存在重复元素。

直接用哈希集合:新建一个哈希集合,逐个向集合内添加元素,如果遇到元素未添加成功,则证明存在重复元素,返回 True ,反之返回 False。

代码:

这里用的哈希集合解题

Java:

class Solution {

 public boolean containsDuplicate(int[] nums) {

 Set<Integer> set = new LinkedHashSet<>();

 for (int num : nums) {

 if (!set.add(num)) return true; //加入集合未成功,证明集合内已有一个相同元素,返回False

 }

 return false;

 }

}

Python:

Python中 set() 函数可以直接将数组转化为哈希集合。直接比较转化后的哈希集合长度与原数组长度是否相等,相等证明原数组无重复元素,不相等则证明原数组含有重复元素。

class Solution:

 def containsDuplicate(self, nums: List[int]) -> bool:

 return len(nums) != len(set(nums)) #比较长度

伙伴们有需要补充的可以留言!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927053/viewspace-3145361/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-31

  • 博文量
    155
  • 访问量
    256