问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3772 访问。

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

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

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

输出: true

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

输出: false

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

输出: true


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.

Input: [1,2,3,1]

Output: true

Input: [1,2,3,4]

Output: false

Input: [1,1,1,3,3,4,3,2,4,2]

Output: true


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3772 访问。

public class Program {public static void Main(string[] args) {int[] nums = null;nums = new int[] { 1, 2, 3, 4, 5, 6, 7, 7 };var res = ContainsDuplicate(nums);Console.WriteLine(res);nums = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };res = ContainsDuplicate2(nums);Console.WriteLine(res);nums = new int[] { 1, 2, 3, 3, 5, 6, 7, 8 };res = ContainsDuplicate3(nums);Console.WriteLine(res);Console.ReadKey();}private static bool ContainsDuplicate(int[] nums) {//暴力解法for(int i = 0; i < nums.Length; i++) {for(int j = i + 1; j < nums.Length; j++) {if(nums[i] == nums[j]) return true;}}return false;}private static bool ContainsDuplicate2(int[] nums) {//先排序,再使用单循环比较相邻值Array.Sort(nums);for(int i = 0; i < nums.Length - 1; i++) {if(nums[i] == nums[i + 1]) return true;}return false;}private static bool ContainsDuplicate3(int[] nums) {//哈希法var dic = new Dictionary<int, int>();foreach(var num in nums) {if(dic.ContainsKey(num)) return true;dic[num] = 0;}return false;}}

以上给出3种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3772 访问。

True
False
True

分析:

显而易见,ContainsDuplicate的时间复杂度为:  ,ContainsDuplicate2的时间复杂度需要考虑Array.Sort()具体使用的排序算法,ContainsDuplicate3的时间复杂度为:  。

C#LeetCode刷题之#217-存在重复元素(Contains Duplicate)相关推荐

  1. C#LeetCode刷题之#219-存在重复元素 II​​​​​​​(Contains Duplicate II)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3704 访问. 给定一个整数数组和一个整数 k,判断数组中是否存在 ...

  2. Leetcode题库217.存在重复元素(python实现)

    文章目录 思路 代码 思路 1.采用set的性质(无重复元素)解题 2.hash数组 3.字典 4.暴力for循环(小心超时) 代码 class Solution:def containsDuplic ...

  3. leetcode刷题:1.无重复字符的最长字串

    题目: 方法一: 首先我们可以想到暴力解法,就是 ·逐个生成字符串 ·看他受否含有重复字符 如下代码暴力法: int LenOfUniqueStr(char* Start) {int Validity ...

  4. 卷进大厂系列之LeetCode刷题笔记:移除元素(简单)

    学算法,刷力扣,加油卷,进大厂! 题目描述 力扣题目链接 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间, ...

  5. C#LeetCode刷题-哈希表

    哈希表篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 42.8% 简单 3 无重复字符的最长子串   24.2% 中等 18 四数之和   ...

  6. C#LeetCode刷题-数组

    数组篇 # 题名 刷题 通过率 难度 1 两数之和 C#LeetCode刷题之#1-两数之和(Two Sum) 43.1% 简单 4 两个排序数组的中位数 C#LeetCode刷题之#4-两个排序数组 ...

  7. LeetCode刷题——哈希表(python语言)

    LeetCode刷题--哈希表(python语言) 一.哈希表 1.1 哈希表的概念 哈希表,也叫散列表.其实可以很像python的字典,也就是键(key)值(Hash(key))对,最简单也最常用的 ...

  8. ​LeetCode刷题实战174:地下城游戏

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  9. ​LeetCode刷题实战179:最大数

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

最新文章

  1. 打破你的认知,数字除以 0 一定会崩溃吗?
  2. 关于计算机组成的ppt,计算机组成课件.ppt
  3. Java程序员谈一谈-----java程序员成长之路
  4. python飞机大战资料-Python之游戏开发-飞机大战
  5. 密码学专题 OpenSSL标准转换指令
  6. 对象过滤某个属性 循环 php_37道PHP面试题(附答案)
  7. WPF后台自定义文字带背景的选择状态按钮
  8. python 输出list到txt_python脚本生成caffe train_list.txt的方法
  9. 怎样管理Lotus Domino
  10. AI学习笔记(七)图像滤波器、OpenCV算法解析
  11. Linux系统通过Squid配置实现代理上网
  12. 联想服务器怎么安装虚拟机,Windows 8里的虚拟机Hyper-V的安装及使用
  13. TX2平台cmake安装
  14. 条码打印一 - Zebra斑马打印机三种打印方式的利弊
  15. ubuntu + GTK+ + anjuta
  16. 数据库连接池运行的原理:
  17. 联想启天m410进bios_联想启天M410台式机重装系统win7-联想win7系统下载
  18. 微信“商家转账到零钱“功能接入以及如何获得转账结果?
  19. 神经网络训练样本的标签,训练图像识别神经网络
  20. OpenCV开发笔记(六十):红胖子8分钟带你深入了解Harris角点检测(图文并茂+浅显易懂+程序源码)

热门文章

  1. Leetcode算法题(C语言)5--存在重复
  2. 【今日CV 计算机视觉论文速览】Mon, 18 Mar 2019
  3. linux 下wine 和plyaonlinux 安装以及卸载 (linux下运行windows软件的神器)
  4. dj鲜生-27-登陆装饰器-使用django内置的登陆装饰器
  5. linux-vim-进入编辑模式的多种方法
  6. maatkit使用总结
  7. Python库大全涵盖了Python应用的方方面面建议收藏留用!
  8. zabbix-3.0.4安装部署
  9. lemur run PLSA
  10. Javascript图片滚动