LeetCode OJ 之 Contains Duplicate (包含重复判断)
2015-06-01 15:56
393 查看
题目:
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at leasttwice in the array, and it should return false if every element is distinct.
一个整型数组,判断数组中是否有重复的数字。
思路:
1、暴力比较2、先排序,再遍历(c++使用stl的排序算法,c使用自定义的排序算法)
3、使用stl中的set
代码1:
class Solution {public:
bool containsDuplicate(vector<int>& nums)
{
if(nums.empty())
return false;
unordered_set<int> s;
for(int i = 0 ; i < nums.size() ; i++)
{
s.insert(nums[i]);
if(s.size() < i + 1) //使用set中没有重复元素的性质
return true;
}
return false;
}
};
代码2:
int comp(const void *num1 , const void *num2)
{
return *(int *)num1 - *(int *)num2;
}
bool containsDuplicate(int* nums, int numsSize)
{
qsort(nums , numsSize , sizeof(int) , comp);//此方法效率最高,只需要16ms,其他方法至少40ms
for(int i = 1 ; i < numsSize ; i++)
{
if(nums[i] == nums[i-1])
return true;
}
return false;
}
相关文章推荐
- cocoa pod 制作私有静态库时写完codspec文件又遇到了linker command failed却没有具体错误原因的问题
- [LeetCode] Contains Duplicate III
- socket domain 样例
- org.hibernate.AssertionFailure: null id don't flus
- socketpair初识
- LeetCode Container With Most Water
- http://blog.csdn.net/liuhe688/article/details/6715983/
- YT02-简单数学课堂题-1004 Fibonacci Again -(5.31日-烟台大学ACM预备队解题报告)
- Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x1bad30 {NSLocalizedDescription=未找到应用程序的“aps-environment”的权利字符串}
- Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER 解决方案
- HackerRank - "Detecting Valid Latitude and Longitude Pairs"
- http error 503. the service is unavailable. sharepoint
- Leetcode Problem.172—Factorial Trailing Zeroes
- AIX下的nmon的使用
- 在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式,请确保您的Main函数带有STAThreadAttribute
- shrio 权限管理filterChainDefinitions过滤器配置
- httpd: Could not reliably determine the server's fully qualified domain name
- leetcode_Contains Duplicate II_easy
- EAI和ESB
- leetcode_Contains Duplicate_easy