Leetcode刷题73-217. 存在重复元素(C++详细解法!!!)

Come from : [https://leetcode-cn.com/problems/contains-duplicate/]

217. Contains Duplicate

  • 1.Question
  • 2.Answer
  • 3.大神们的解决方案
  • 4.我的收获

1.Question

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

2.Answer

easy 类型题目。不多BB。

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

3.大神们的解决方案

set 去重,然后比较数组长度。

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

4.我的收获

vector 的六种 创建和初始化方法

2019/5/8 胡云层 于南京 73

你可能感兴趣的:(LeetCode从零开始,LeetCode,C++)