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))


相关文章
|
27天前
|
算法 网络协议 数据挖掘
C++是一种功能强大的编程语言,
C++是一种功能强大的编程语言,
54 14
|
5月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
130 2
|
4月前
|
Python
Python 选出列表中特定的元素
Python 选出列表中特定的元素
51 3
|
4月前
|
数据处理 索引 Python
Python列表与元素修改的操作技巧
Python列表提供了丰富的方法和技巧来进行高效的数据操作。熟练运用上述技巧,可以大大提高数据处理的效率和代码的可读性。实践中,根据具体需求灵活选择合适的方法,可以在保证代码效率的同时,也使代码更加简洁明了。
100 2
|
3月前
|
索引
力扣(LeetCode)数据结构练习题(3)------链表
力扣(LeetCode)数据结构练习题(3)------链表
106 0
|
3月前
力扣(LeetCode)数据结构练习题(2)
力扣(LeetCode)数据结构练习题(2)
35 0
|
3月前
|
存储
力扣(LeetCode)数据结构练习题
力扣(LeetCode)数据结构练习题
62 0
|
5月前
|
程序员 Python
Python 将元素添加到列表
【8月更文挑战第21天】
255 3
|
5月前
|
Python
【Leetcode刷题Python】50. Pow(x, n)
本文介绍了LeetCode第50题"Pow(x, n)"的解法,题目要求实现计算x的n次幂的函数,文章提供了递归分治法的详细解析和Python实现代码。
34 1
|
5月前
|
Python
【Leetcode刷题Python】LeetCode 478. 在圆内随机生成点
本文介绍了LeetCode 478题的解法,题目要求在给定圆的半径和圆心位置的情况下实现在圆内均匀随机生成点的功能,并提供了Python的实现代码。
39 1