• LeetCode_217. Contains Duplicate


    217. Contains Duplicate

    Easy

    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.

    Example 1:

    Input: [1,2,3,1]
    Output: true

    Example 2:

    Input: [1,2,3,4]
    Output: false

    Example 3:

    Input: [1,1,1,3,3,4,3,2,4,2]
    Output: true
    package leetcode.easy;
    
    public class ContainsDuplicate {
    	public boolean containsDuplicate1(int[] nums) {
    		for (int i = 0; i < nums.length; ++i) {
    			for (int j = 0; j < i; ++j) {
    				if (nums[j] == nums[i]) {
    					return true;
    				}
    			}
    		}
    		return false;
    	}
    	// Time Limit Exceeded
    
    	public boolean containsDuplicate2(int[] nums) {
    		java.util.Arrays.sort(nums);
    		for (int i = 0; i < nums.length - 1; ++i) {
    			if (nums[i] == nums[i + 1]) {
    				return true;
    			}
    		}
    		return false;
    	}
    
    	public boolean containsDuplicate3(int[] nums) {
    		java.util.Set<Integer> set = new java.util.HashSet<>(nums.length);
    		for (int x : nums) {
    			if (set.contains(x)) {
    				return true;
    			} else {
    				set.add(x);
    			}
    		}
    		return false;
    	}
    
    	@org.junit.Test
    	public void test1() {
    		int[] nums1 = { 1, 2, 3, 1 };
    		int[] nums2 = { 1, 2, 3, 4 };
    		int[] nums3 = { 1, 1, 1, 3, 3, 4, 3, 2, 4, 2 };
    		System.out.println(containsDuplicate1(nums1));
    		System.out.println(containsDuplicate1(nums2));
    		System.out.println(containsDuplicate1(nums3));
    	}
    
    	@org.junit.Test
    	public void test2() {
    		int[] nums1 = { 1, 2, 3, 1 };
    		int[] nums2 = { 1, 2, 3, 4 };
    		int[] nums3 = { 1, 1, 1, 3, 3, 4, 3, 2, 4, 2 };
    		System.out.println(containsDuplicate2(nums1));
    		System.out.println(containsDuplicate2(nums2));
    		System.out.println(containsDuplicate2(nums3));
    	}
    
    	@org.junit.Test
    	public void test3() {
    		int[] nums1 = { 1, 2, 3, 1 };
    		int[] nums2 = { 1, 2, 3, 4 };
    		int[] nums3 = { 1, 1, 1, 3, 3, 4, 3, 2, 4, 2 };
    		System.out.println(containsDuplicate3(nums1));
    		System.out.println(containsDuplicate3(nums2));
    		System.out.println(containsDuplicate3(nums3));
    	}
    }
    
  • 相关阅读:
    RegExp正则表达式心得 1 -分解MIME格式
    转载:ASP.Net性能优化(作者:刘鉴平)
    asp.Net中的多文件上传[载]
    我做的程序
    C#代码执行者1.0
    wordwrap,wordbreak,whitespace,textoverflow的区别和用法[转]
    SQL里面Case的用法
    richTextBox中插入图片的方法
    关于CodeDom的测试
    关系数据库的索引技术
  • 原文地址:https://www.cnblogs.com/denggelin/p/11731136.html
Copyright © 2020-2023  润新知