文档章节

LeetCode:Contains Duplicate - 判断数组内是否有重复元素

北风其凉
 北风其凉
发布于 2015/10/13 21:25
字数 421
阅读 1115
收藏 0

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

© 著作权归作者所有

共有 人打赏支持
北风其凉

北风其凉

粉丝 115
博文 498
码字总数 463468
作品 4
朝阳
程序员
私信 提问
LeetCode:Contains Duplicate II - 判断数组内是否有重复元素2

1、题目名称 Contains Duplicate II(判断数组内是否有重复元素2) 2、题目地址 https://leetcode.com/problems/contains-duplicate-ii/ 3、题目内容 英文:Given an array of integers and ...

北风其凉
2015/10/15
2.7K
0
217. Contains Duplicate - LeetCode

Question 217. Contains Duplicate Solution 题目大意:判断数组中是否有重复元素 思路:构造一个set,不重复就加进去,重复返回true,如果数据量大的话,可以用布隆过滤器 Java实现:...

yysue
07/18
0
0
Leetcode日记6

(2015/11/28) LeetCode 303 Range Sum Query - Immutable:(Easy) 1)超时的算法:每次调用sumRange函数进行一次累加运算。 2)不超时的算法:改变数组的内容,存储从0下标到当前下标所有...

fxdhdu
2015/11/28
73
0
287. Find the Duplicate Number。

Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is only o......

Leafage_M
01/26
0
0
玩转算法面试:(四)LeetCode查找类问题

查找问题 两类查找问题 查找有无:元素’a’是否存在?set;集合 查找对应关系(键值对应):元素’a’出现了几次?map;字典 通常语言的标准库中都内置set和map 容器类 屏蔽实现细节 了解语...

天涯明月笙
2017/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

爬虫教程」Python做一个简单爬虫,小白也能看懂的教程

俗话说“巧妇难为无米之炊”,除了传统的数据源,如历史年鉴,实验数据等,很难有更为简便快捷的方式获得数据,在目前互联网的飞速发展写,大量的数据可以通过网页直接采集,“网络爬虫”应运...

糖宝lsh
今天
1
0
KEIL MDK工程中的宏定义:字符,值,字符串

下图中定义了2个宏: 等效于文件中: #define MCU_FLASH_LESSTHAN_64K #define VERSION_INFO_hw 'a' // MDK :VERSION_INFO_hw="'a'" 即MDK中的VERSION_INFO_hw="'a'" 和 #define VERS......

SamXIAO
今天
0
0
集合的最优子集划分

问题描述:如何将一个个数为n的集合N划分为为若干个子集N1…Nk,其中1≤k≤n,计算出每个子集的最优结果R1…Rk,使得F(R1…Rk)为最优的结果。 这个问题可以分成3步解决: 求出集合所有子集 ...

laolin23
今天
0
0
JavaScript实现在线Markdown编辑器、转换HTML工具-toolfk程序员工具网

本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果。T...

toolfk
今天
2
0
Source Tree 在git 密码更新后,无法拉取代码的解决办法

背景: git 密码总是需要修改。在修改代码后,拉去代码, source tree 总提示access denied. 解决方法:重新修改git 仓库对应的密码。 for mac:应用程序 -》 钥匙串 -》 搜索 source tre...

Carlyle_Lee
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部