leetcode 217. Contains Duplicate

来源:互联网 发布:软件配置状态报告 编辑:程序博客网 时间:2024/06/18 05:23

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.

思路:使用hash table,如果不在,返回false,如果在放入哈希表中。

class Solution {public:    bool containsDuplicate(vector<int>& nums) {        unordered_map<int,int> m;        for(int i=0;i<nums.size();i++){            if(m.find(nums[i])!=m.end()) return true;            ++m[nums[i]];        }        return false;    }};


方法2:one line solution

class Solution {public:    bool containsDuplicate(vector<int>& nums) {       return nums.size()>set<int>(nums.begin(),nums.end()).size();    }};


方法3:先排序,然后判断相邻的数是否相等,相等返回true,否,return false

class Solution {public:    bool containsDuplicate(vector<int>& nums) {       sort(nums.begin(),nums.end());       for(int i=1;i<nums.size();++i){           if(nums[i]==nums[i-1]) return true;       }       return false;    }};




0 0
原创粉丝点击