LeetCode 217 Contains Duplicate

Posted SillyVicky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 217 Contains Duplicate相关的知识,希望对你有一定的参考价值。

Problem:

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.

Summary:

判断数组中是否出现重复值。

Analysis:

1. 给数组排序后遍历,判断相邻两值是否相等。

 1 class Solution {
 2 public:
 3     bool containsDuplicate(vector<int>& nums) {
 4         int len = nums.size();
 5         
 6         sort(nums.begin(), nums.end());
 7         for (int i = 1; i < len; i++) {
 8             if (nums[i] == nums[i - 1]) {
 9                 return true;
10             }
11         }
12         
13         return false;
14     }
15 };

2. Hash表建立数组中数字和出现次数的映射,判断是否大于1。

 1 class Solution {
 2 public:
 3     bool containsDuplicate(vector<int>& nums) {
 4         int len = nums.size();
 5         unordered_map<int, int> m;
 6         
 7         for (int i = 0; i < len; i++) {
 8             if(++m[nums[i]] > 1) {
 9                 return true;
10             }
11         }
12         
13         return false;
14     }
15 };

以上是关于LeetCode 217 Contains Duplicate的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 217. Contains Duplicate

LeetCode 217 Contains Duplicate

217. Contains Duplicate (leetcode)

leetcode-217-Contains Duplicate

[leetcode]217.Contains Duplicate

LeetCode第217题Contains Duplicate