[LeetCode:数组篇3]:存在重复

给定一个整数数组,判断是否存在重复元素。

如果任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。

示例1:

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

示例2:

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

示例3:

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

解:

class Solution {
上市:
    bool containsDuplicate(vector <int>&nums) 
    {
     
        如果(nums.size()<2)
            返回false;
        for(int i = 0; i <nums.size(); i ++)
        {
            int temp = nums [i];
            for(int j = i + 1; j <nums.size(); j ++)
            {
                如果(温度== NUM​​S [J])
                返回true;
            }
        }
        返回false;
    }
};

上面这个是比较慢的,利用指针最快了,sort函数可以对数进行升序排列。

静态自动x = [] {
    的std :: IOS :: sync_with_stdio(假);
    的std :: cin.tie(NULL);
    返回0;
}();
class Solution {
上市:
    bool containsDuplicate(vector <int>&nums){
    int iSize = nums.size();
	如果(iSize <2)
	{
		返回false;
	}
        
    std :: sort(nums.begin(),nums.end());

	for(int i = 0; i <iSize-1; ++ i)
	{
		if(nums [i] == nums [i + 1])
		{
			返回true;
		}
	}

	返回false;
    }
};


猜你喜欢

转载自blog.csdn.net/qq_34570910/article/details/80867353