LeetCode:Contains Duplicate - 判断数组内是否有重复元素
LeetCode:Contains Duplicate - 判断数组内是否有重复元素
北风其凉 发表于2年前
LeetCode:Contains Duplicate - 判断数组内是否有重复元素
  • 发表于 2年前
  • 阅读 948
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: LeetCode第217题,Contains Duplicate,使用Java语言的解题方案

1、题目名称

Contains Duplicate(判断数组内是否有重复元素)

2、题目地址

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

3、题目内容

英文:Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

中文:给出一个整数数组,判断该数组内是否有两个元素值是相同的,是则返回true,否则返回false

4、解题方法1

先将传入的数组进行排序,排序后查看相邻元素,如果存在相邻元素相同的情况,则说明原数组内有至少两个元素相同。

Java代码如下:

import java.util.Arrays;

/**
 * @功能说明:LeetCode 217 - Contains Duplicate
 * @开发人员:Tsybius2014
 * @开发时间:2015年10月12日
 */
public class Solution {
    
    /**
     * 查看数组内是否有重复元素
     * @param nums
     * @return
     */
    public boolean containsDuplicate(int[] nums) {
        
        if (nums.length <= 1) {
            return false;
        }
        
        Arrays.sort(nums);
        for (int i = 1; i < nums.length; i++) {
            if (nums[i] == nums[i - 1]) {
                return true;
            }
        }
        
        return false;
    }
}

5、解题方法2

遍历数组,将数组内的值逐个放入到一个HashMap中,如果遍历到某元素是发现该元素值已经在HashMap中存在,则说明原数组中存在重复的元素。

Java代码如下:

import java.util.HashMap;

/**
 * @功能说明:LeetCode 217 - Contains Duplicate
 * @开发人员:Tsybius2014
 * @开发时间:2015年10月12日
 */
public class Solution {
    
    /**
     * 查看数组内是否有重复元素
     * @param nums
     * @return
     */
    public boolean containsDuplicate(int[] nums) {
        
        if (nums.length <= 1) {
            return false;
        }

        HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
        
        for (int i = 0; i < nums.length; i++) {
            if (hashMap.containsKey(nums[i])) {
                return true;
            } else {
                hashMap.put(nums[i], i);
            }
        }
        
        return false;
    }
}

END

共有 人打赏支持
北风其凉
粉丝 111
博文 486
码字总数 458677
作品 4
×
北风其凉
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: