Leetcode 217. Contains Duplicate
来源:互联网 发布:软件交付需求变更 编辑:程序博客网 时间:2024/06/07 06:54
题目的意思是,判断一个数组中是否有重复的数,有的话返回true,否则返回false。
方法1:对数组进行排序,遍历数组,如果出现前后元素相等,说明有重复数。
时间复杂度O(nlogn),不需要开辟额外空间。
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; }};
方法2:既然用了sort,不如直接用unique:
class Solution {public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(), nums.end()); return unique(nums.begin(), nums.end())!=nums.end(); }};
方法3:用哈希表,对数组中的每个元素先去哈希表中查找,如果找到了就直接返回true,找不到的话就把这个元素插入到表中,时间复杂度O(n).
class Solution {public: bool containsDuplicate(vector<int>& nums) { unordered_set<int>t; for(int x: nums) { if(t.find(x)!=t.end()) return true; t.insert(x); } return false; }};
classSolution {public: boolcontainsDuplicate(vector<int>& nums) { return nums.size() >unordered_set<int>(nums.begin(),nums.end()).size(); }};
阅读全文
0 0
- LeetCode 217. Contains Duplicate
- [leetcode] 217.Contains Duplicate
- 【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
- leetcode 217. Contains Duplicate
- leetcode 217. Contains Duplicate
- LeetCode *** 217. Contains Duplicate
- LeetCode 217. Contains Duplicate
- leetcode-217. Contains Duplicate
- LeetCode 217. Contains Duplicate
- 217.[Leetcode]Contains Duplicate
- LeetCode 217. Contains Duplicate
- Leetcode 217. Contains Duplicate
- Java线程面试题 Top 50
- php取整函数
- 将对象转为url中?后缀的参数
- Slim 框架学习,第十三天 _Router(四)
- Mybatis学习总结(二) 搭建
- Leetcode 217. Contains Duplicate
- python字符串连接的三种方法及其效率、适用场景详解
- C和指针---读书小记
- 将对象转为url中?后缀的参数
- [NYOJ1058]部分和问题
- Scala_容器
- HTTP详解-请求、响应、缓存
- Eclipse下IDA调试原生程序
- STM32、LINUX概念