LeetCode: 217. Contains Duplicate

来源:互联网 发布:网络拔草是什么意思啊 编辑:程序博客网 时间:2024/06/08 09:05

LeetCode: 217. Contains Duplicate

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.

自己的答案,6ms:

public class Solution {    public boolean containsDuplicate(int[] nums) {        if (nums == null || nums.length <= 1) {            return false;        }        int length = nums.length;        int max = nums[0], min = nums[0];        for (int i = 1; i < length; i++) {            if (max < nums[i]) {                max = nums[i];            }            if (min > nums[i]) {                min = nums[i];            }        }        int[] arrays = new int[max - min + 1];        for (int i = 0; i < length; i++) {            arrays[nums[i] - min]++;            if (arrays[nums[i] - min] > 1) {                return true;            }        }        return false;    }}

最快的答案,3ms:

public class Solution {    public boolean containsDuplicate(int[] nums) {        if(nums == null || nums.length == 1) return false;        int max = Integer.MIN_VALUE;        int min = Integer.MAX_VALUE;        for(int num : nums){            if(num > max)                max = num;            if(num < min)                min = num;        }        boolean[] bool = new boolean[max - min + 1];        for(int num : nums){            if(bool[num - min])                return true;            else                bool[num - min] = true;        }        return false;    }}
原创粉丝点击