zoukankan      html  css  js  c++  java
  • 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));
    	}
    }
    
  • 相关阅读:
    忘记Linux用户密码怎么办?
    新建虚拟机并与XShell连接(配置网卡)
    虚拟机U盘挂载
    Linux 创建虚拟机,配置网卡,桥接,连接XShell
    C/C++产生随机数
    举例说明数据结构在网络技术领域和实际生活中的应用
    组合数学--容斥原理&鸽巢原理
    计算机组成原理-好文总结
    八大排序算法
    博客园自定义页面风格设计
  • 原文地址:https://www.cnblogs.com/denggelin/p/11731136.html
Copyright © 2011-2022 走看看