• 【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.

    提示:

    有两种思路:

    • 对输入的数组进行排序,然后比较相邻元素的值是否一致 - O(nlgn);
    • 利用Hash Set - O(n)。

    代码:

    排序方法:

    class Solution {
    public:
        bool containsDuplicate(vector<int>& nums) {
            sort(nums.begin(), nums.end());
            return unique(nums.begin(), nums.end()) != nums.end();
        }
    };

    利用Hash Set:

    class Solution {
    public:
        bool containsDuplicate(vector<int>& nums) {
            unordered_set<int> unset;
            for (int i = 0; i < nums.size(); ++i) {
                if (unset.find(nums[i]) != unset.end()) return true;
                else unset.insert(nums[i]);
            }
            return false;
        }
    };
  • 相关阅读:
    2014 非常好用的开源 Android 测试工具
    Android 开发最佳实践
    Java_综合案例DAO设计模式(重要)
    Java_Set接口
    Java_List
    Java_类集框架简介
    Java_对象序列化
    Java_打印流
    Java_IO编程
    Java_文件操作
  • 原文地址:https://www.cnblogs.com/jdneo/p/4744529.html
Copyright © 2020-2023  润新知