首页 > 学院 > 开发设计 > 正文

217. Contains Duplicate

2019-11-08 03:24:21
字体:
来源:转载
供稿:网友

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(n*n),空间复杂度O(1); 方法二、利用系统自带的sort对数组进行排序,然后再前后查找,时间复杂度为O(nlgn),空间复杂度O(1); 方法三、利用hash表的方法,时间复杂度和空间复杂度均为O(n);

bool containsDuplicate(vector<int>& nums){ int len = nums.size(); if(len<=1) { return false; } map<int,int> mp; for(int i = 0; i < len; i++) { if(mp.find(nums[i]) != mp.end()) { return true; break; } else { mp.insert(pair<int,int>(nums[i],1)); } } return false;}

方法四、利用c++的set集合的特性:

#include <set>using namespace std;class Solution {public: bool containsDuplicate(vector<int>& nums) { return nums.size() > set<int>(nums.begin(), nums.end()).size(); }};
上一篇:YOLO论文解读

下一篇:const 用法

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表