首页 > 其他 > 详细

leetcode 217

时间:2021-04-21 16:00:41      阅读:20      评论:0      收藏:0      [点我收藏+]

Leetcode 217

题目描述

判断给定数组里是否有重复元素。

思路介绍

1.HashMap

一看到题目“重复元素”,我就立刻想到了哈希表

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

利用集合无重复的性质,可以较为巧妙的解题

Set<Integer> tmp = new HashSet<>();
for (int i = 0; i < nums.length; i++) {
    tmp.add(nums[i]);
}
return tmp.size() < nums.length;
3.排序

对数字从小到大排序之后,数组的重复元素一定出现在相邻位置中

Arrays.sort(nums);
for (int i = 0; i < nums.length - 1; i++) {
    if (nums[i] == nums[i + 1]) {
        return true;
    }
}
return false;

leetcode 217

原文:https://www.cnblogs.com/apex-wzw/p/14683888.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!