LeetCode(初级算法)数组篇---存在重复

 

 

题目

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

如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。

解析

在这道题里,我推荐大家使用两种方法。我的解题方式是能怎么简单就怎么简单,不追求到效率的极致,在力求不把问题复杂化

代码:

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

 该答案来自 XReformat 的CSDN 博客 ,全文地址请点击

 

 

这里如果数组元素是在不为负也不为0的条件下 ,还有以下解法:将原数组中的元素值当作新数组的下标,如果遇到新数组的某个下标对应的元素不为0说明已经在这个下标插入过元素了,说明就有重复

class Solution {
    public boolean containsDuplicate(int[] nums) {
        int  length = nums.length;
        int[] arr = new int[length];
        for(int i=0;i

 

你可能感兴趣的:(leetcode)