LeetCode 217. Contains Duplicate

xiaoxiao2021-02-28  58

217. Contains Duplicate

Description

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.

Solution

题意即判断一个数组中是否存在出现次数大于1的数。用map统计数字出现次数即可,代码如下。 class Solution { public: bool containsDuplicate(vector<int>& nums) { if (!nums.size()) return false; map<int,int> m; int index = 0; for (int i = 0;i < nums.size();i++) { if (m.count(nums[i]) == 0) { m[nums[i]] = index++; } else return true; } return false; } }; 也可以用set存储所有的数字,如果set的大小和数组的大小不一样,说明有相同的数字,代码如下。 class Solution { public: bool containsDuplicate(vector<int>& nums) { return set<int>(nums.begin(), nums.end()).size() < nums.size(); } };
转载请注明原文地址: https://www.6miu.com/read-85819.html

最新回复(0)