要求

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

Examples

Input: nums = [1,2,3,1]Output: true
Input: nums = [1,2,3,4]Output: false
Input: nums = [1,1,1,3,3,4,3,2,4,2]Output: true

输出值范畴

  • 1 <= nums.length <= 105
  • -109 <= nums[i] <= 109

解答

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

先排序,如果一个数字呈现了n次,那阐明至多呈现两次,则肯定在遍历时遍历到后一个数等于前一个数,间接返回true。如果没有遍历到此状况,则阐明没有反复,返回false。