217.存在重复元素(题解)

题目内容

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

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

 

题解

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

 

解题思路

分析:

  1. 给定一个整数数组,这个意味着可排序,毕竟整数可以进行排序,要是字符串就不可以
  2. 是否存在重复元素,存在重复元素意味着,有序数组拍完序之后,重复的元素是相邻的
  3. 既然重复元素相邻,只要拿第一个元素和后一个元素进行比较即可
  4. 相等则返回true,否则返回false
posted @ 2021-09-07 16:18  心猿问道  阅读(217)  评论(0)    收藏  举报