217. Contains Duplicate(C++)
217. Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.
题目大意:
给定一个整数数组,判断数组中是否包含重复元素。如果数组中任意一个数字出现了至少两次,你的函数应该返回true,如果每一个元素都是唯一的,返回false。
解题方法:
先对数组进行排序,比较相邻俩元素是否相等。
注意事项:
C++代码:
4~18行为谢尔排序,可用sort(nums.begin(),nums.end())代替。
class Solution {
public:
bool containsDuplicate(vector<int>& nums) {
int tmp;
int j;
if(nums.empty()||nums.size()==) return false;
for(int gap=nums.size()/;gap>;gap/=)
{
for(int i=gap;i<nums.size();i++)
{
tmp=nums[i];
for(j=i;j>=gap&&tmp<nums[j-gap];j-=gap)
{
nums[j]=nums[j-gap];
}
nums[j]=tmp;
}
}
for(int i=;i<nums.size()-;i++)
{
if(nums[i]==nums[i+]) return true;
}
return false;
}
};
217. Contains Duplicate(C++)的更多相关文章
- LeetCode Javascript实现 169. Majority Element 217. Contains Duplicate(两个对象比较是否相等时,如果都指向同一个对象,a==b才是true)350. Intersection of Two Arrays II
169. Majority Element /** * @param {number[]} nums * @return {number} */ var majorityElement = funct ...
- LeetCode 217. Contains Duplicate (包含重复项)
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- 机器学习与Tensorflow(2)——神经网络及Tensorflow实现
神经网络算法以及Tensorflow的实现 一.多层向前神经网络(Multilayer Feed-Forward Neural Network) 多层向前神经网络由三部分组成:输入层(input la ...
- (转载)[MySQL技巧]INSERT INTO… ON DUPLICATE KEY UPDATE
(转载)http://blog.zol.com.cn/2299/article_2298921.html MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDA ...
- (转载)INSERT INTO .. ON DUPLICATE KEY 语法与实例教程
(转载)http://www.111cn.net/database/mysql/ON_DUPLICATE_KEY%20.htm INSERT语句末尾指定了ON DUPLICATE KEY UPDATE ...
- LeetCode(220) Contains Duplicate III
题目 Given an array of integers, find out whether there are two distinct indices i and j in the array ...
- LeetCode 287. Find the Duplicate Number (python 判断环,时间复杂度O(n))
LeetCode 287. Find the Duplicate Number 暴力解法 时间 O(nlog(n)),空间O(n),按题目中Note"只用O(1)的空间",照理是过 ...
- 【LeetCode】652. Find Duplicate Subtrees 解题报告(Python)
[LeetCode]652. Find Duplicate Subtrees 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博 ...
- Android(java)学习笔记217:开发一个多界面的应用程序之清单文件
清单文件的重要参数: <intent-filter> 代表的应用程序的入口界面 <action android:name=&quo ...
随机推荐
- C语言volatile关键字
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...
- 用户home目录下的.gitconfig 和 库文件夹目录下的 .gitignore 示例
.gitconfig文件: [user] name = hzh email = @qq.com [core] editor = vi quotepath = false [merge] tool = ...
- Eclipse插件收藏列表
viPlugin 2.11.0 AnyEdit Tools 2.4.4 EclipseColorer 0.8.0 PyDev – Python IDE for Eclipse 2.7.5 MoreUn ...
- myEclipse和eclipse修改或复制项目名称后-更新部署名称
一.myEclipse 复制后修改名称,访问不到项目 这是因为,你只是改了项目的名称,而没有改 下面是解决方法: 方法 1.右击你的项目,选择“properties”,在“type filter te ...
- MFC发送自定义消息-PostMessage和SendMessage
PostMessage:把消息投放到线程的消息队列,不能消息被处理就立即返回SendMessage:消息被处理完后才返回 几种发送消息的写法: ::PostMessage(GetSafeHwnd( ...
- Java Development Kit(JDK) 8 新特性(简述)
一.接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法. 示例如下: interface Formula { calcul ...
- 我是怎么拿到百度2016校招Offer的——IT技术类校招成功面经
笔者是软件工程大四学生,属于保研失败群体,不想考研,所以选择了工作.从9月下保研失败到10月中成功拿到百度Offer,这其中的大起大落真是外人所无法体会的.这一段时间的面试经验,可以和大家分享一下.笔 ...
- A Practical Guide to Distributed Scrum - 分布式Scrum的实用指南 - 读书笔记
最近读了这本IBM出的<A Practical Guide to Distributed Scrum>(分布式Scrum的实用指南),书中的章节结构比较清楚,是针对Scrum项目进行,一个 ...
- [Java 8] (5) 使用Lambda表达式进行设计
使用Lambda表达式进行设计 在前面的几篇文章中,我们已经见识到了Lambda表达式是怎样让代码变的更加紧凑和简洁的. 这一篇文章主要会介绍Lambda表达式怎样改变程序的设计.怎样让程序变的更加轻 ...
- UVA 11551 - Experienced Endeavour(矩阵高速幂)
UVA 11551 - Experienced Endeavour 题目链接 题意:给定一列数,每一个数相应一个变换.变换为原先数列一些位置相加起来的和,问r次变换后的序列是多少 思路:矩阵高速幂,要 ...