LeetCode 217.存在重复元素【力扣——C/C++/Python三种编程语言题解】

简介: LeetCode 217.存在重复元素【力扣——C/C++/Python三种编程语言题解】

给你一个整数数组 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语言版答案

bool containsDuplicate(int* nums, int numsSize){
  int i = 0;
  int _callback(const void* val1, const void* val2)
  {
    return (*(int*)val1 - *(int*)val2);
  }
  /*调用库函数qsort,自己写排序可能会超时*/
  qsort(nums, numsSize, sizeof(int), _callback);
  for(i = 1; i < numsSize; i++)
  {
    if(nums[i - 1] == nums[i])
    {
      return true;
    }
  }
  return false;
}

🏆C++版答案

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
    set<int> s;
    for(vector<int>::iterator it = nums.begin(); it != nums.end(); it++)
    {
      s.insert(*it);
    }
    if(s.size() < nums.size())
    {
      return true;
    }
    return false;
    }
};

🏆Python版答案

class Solution(object):
    def containsDuplicate(self, nums):
    return (len(set(nums)) != len(nums))


相关文章
【力扣】-- 移除链表元素
【力扣】-- 移除链表元素
226 1
|
7月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
542 0
|
机器学习/深度学习 存储 算法
【LeetCode 热题100】347:前 K 个高频元素(详细解析)(Go语言版)
这篇文章详细解析了力扣热题 347——前 K 个高频元素的三种解法:哈希表+小顶堆、哈希表+快速排序和哈希表+桶排序。每种方法都附有清晰的思路讲解和 Go 语言代码实现。小顶堆方法时间复杂度为 O(n log k),适合处理大规模数据;快速排序方法时间复杂度为 O(n log n),适用于数据量较小的场景;桶排序方法在特定条件下能达到线性时间复杂度 O(n)。文章通过对比分析,帮助读者根据实际需求选择最优解法,并提供了完整的代码示例,是一篇非常实用的算法学习资料。
776 90
【LeetCode 27】347.前k个高频元素
【LeetCode 27】347.前k个高频元素
189 0
|
11月前
|
Java C++
力扣第一道困难题《3. 无重复字符的最长子串》,c++
首先我们看到这个题是肯定有一种暴力的硬解思路的,那就是将两个vector直接链接起来,然后再排序后,直接返回中间值,这个方法实现起来还是非常容易的,
404 0
|
Python
Python 选出列表中特定的元素
Python 选出列表中特定的元素
375 3
|
数据处理 索引 Python
Python列表与元素修改的操作技巧
Python列表提供了丰富的方法和技巧来进行高效的数据操作。熟练运用上述技巧,可以大大提高数据处理的效率和代码的可读性。实践中,根据具体需求灵活选择合适的方法,可以在保证代码效率的同时,也使代码更加简洁明了。
499 2
【LeetCode 06】203.移除链表元素
【LeetCode 06】203.移除链表元素
183 0
【LeetCode-每日一题】移除元素
【LeetCode-每日一题】移除元素
146 0
|
Python
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
python在列表、元素、字典、集合和numpy的数组前加上星号 * 是什么含义,以及*args和**kwargs的使用
391 0

推荐镜像

更多