leetcode做题笔记217. 存在重复元素

编程入门 行业动态 更新时间:2024-10-24 10:18:05

leetcode<a href=https://www.elefans.com/category/jswz/34/1767183.html style=做题笔记217. 存在重复元素"/>

leetcode做题笔记217. 存在重复元素

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

示例 1:

输入:nums = [1,2,3,1]
输出:true

示例 2:

输入:nums = [1,2,3,4]
输出:false

示例 3:

输入:nums = [1,1,1,3,3,4,3,2,4,2]
输出:true

思路一:集合

c++解法

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

分析:

直接用集合将重复数字剔除,最后比较两个数组之间的长度,若不等则返回false

思路二:排序后遍历

c++解法

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

分析:

将数组排序后只需查看相邻的两个数是否相等即可判断,时间复杂度为O(nlogn)

总结:

本题考察对排序,集合的应用,利用相关性质即可解决

更多推荐

leetcode做题笔记217. 存在重复元素

本文发布于:2023-11-16 04:07:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1612613.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:做题   元素   笔记   leetcode

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!