如何判断一个数组中是否有重复的元素

实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例

方法一:可以新建一个hashtable利用hashtable的Contains方法进行查找

         /// <summary>
/// Hashtable 方法
/// </summary>
/// <param name="array"></param>
/// <returns></returns>
public static bool IsRepeat(int[] array)
{
Hashtable ht = new Hashtable();
for (int i = ; i < array.Length; i++)
{
if (ht.Contains(array[i]))
{
return true;
}
else
{
ht.Add(array[i], array[i]);
}
}
return false;
}

方法二:使用for循环进行比较  需要注意的是j<=i    如果只是等于,实际上效率偏低,有重复计算可以自己摸索,有时间我画个图出来,^_^(这里感谢面试官的提醒)

         /// <summary>
/// for循环
/// </summary>
/// <param name="yourValue"></param>
/// <returns></returns>
public static bool IsRepeat2(int[] array)
{
for (int i = ; i < array.Length; i++)
{
for (int j = ; j < array.Length; j++)
{
if (j <= i)
{
continue;
}
if (array[i] == array[j])
{
return true;
}
}
}
return false;
}

测试代码:

         static void Main(string[] args)
{
int[] array = new int[] { ,,,,,,,};
int[] array2 = new int[] { , , , , , , , };
Console.WriteLine("---------------包含重复元素----------------");
bool isrepeat = IsRepeat(array);
bool isrepeat2 = IsRepeat2(array);
Console.WriteLine(isrepeat);
Console.WriteLine(isrepeat2); Console.WriteLine("---------------不包含重复元素----------------");
bool isrepeat3 = IsRepeat(array2);
bool isrepeat4 = IsRepeat2(array2);
Console.WriteLine(isrepeat3);
Console.WriteLine(isrepeat4);
Console.Read();
}

运行结果:

程序源代码工程下载

各位好汉如果有更好的方法能够优化程序,减少计算的次数,麻烦给出,感激!

C#实现如何判断一个数组中是否有重复的元素的更多相关文章

  1. C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework

    C#实现如何判断一个数组中是否有重复的元素   如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...

  2. JS判断一个数组中是否有重复值的三种方法

    方法一: var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace( ...

  3. js如何判断一个数组中是否有重复的值

    引自:http://bbs.tianya.cn/post-414-38497-1.shtml 方法一: var ary = new Array("111","22&quo ...

  4. C#中怎么判断一个数组中是否存在某个数组值

    (1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...

  5. C#中判断一个数组中是否存在某个数组值 及相关

    声明:reference:http://www.cnblogs.com/icebutterfly/archive/2010/06/22/1762738.html:http://blog.csdn.ne ...

  6. js 算法,判断一个数组中的数字出现多少次

    let arr = [11, 11, 2, 2, 5, 5, 5, 5, 3]; //创建一个map,把每个数字和其个数相对应 let countObj = {}; for (i = 0; i < ...

  7. LeetCode.961-2N数组中N次重复的元素(N-Repeated Element in Size 2N Array)

    这是悦乐书的第365次更新,第393篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第227题(顺位题号是961).在大小为2N的数组A中,存在N+1个唯一元素,并且这些元 ...

  8. JS判断一个数组中有无重复元素(数字)

    前段时间遇到了这个问题 也百度了很多 不过还是用自己的方法解决了 一个超级简单的方法 简单到令人发指 由于直接写文本太丑了 所以还是截图吧 嘻嘻嘻 假如有一个这样的数组 (这是假如  可能每个人的数据 ...

  9. 496. Next Greater Element I 另一个数组中对应的更大元素

    [抄题]: You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subse ...

随机推荐

  1. Linux TC(Traffic Control)框架原理解析

    近日的工作多多少少和Linux的流控有点关系.自打几年前知道有TC这么一个玩意儿而且多多少少理解了它的原理之后,我就没有再动过它,由于我不喜欢TC命令行,实在是太繁琐了.iptables命令行也比較繁 ...

  2. 慎用ArrayList的contains方法,使用HashSet的contains方法代替

    在启动一个应用的时候,发现其中有一处数据加载要数分钟,刚开始以为是需要load的数据比较多的缘故,查了一下数据库有6条左右,但是单独写了一个数据读取的方法,将这6万多条全部读过来,却只需要不到10秒钟 ...

  3. [CGAL]带岛多边形三角化

    CGAL带岛多边形三角化,并输出(*.ply)格式的模型 模型输出的关键是节点和索引 #include <CGAL/Triangulation_vertex_base_with_id_2.h&g ...

  4. error LNK1104:无法打开文件"lua51.lib"

    今天学习C++与Lua通信,遇到了问题:fatal error LNK1104: 无法打开文件“lua51.lib” 开发环境: VS2012 cocos版本:cocos2d-x-3.0 已经按书&l ...

  5. ckeditor 上传图片解决跨域问题

    前后端分离ckeditor跨域问题处理 这个跨域问题很常见,特别是前后端分离的情况,IP地址不同导致了页面跨域,具体原因大多是因为前端ifame问题 分析 ckeditor插件里config.js需要 ...

  6. vim IDE配置

    参考: http://www.cnblogs.com/witcxc/archive/2011/12/28/2304704.html http://www.cnblogs.com/ma6174/arch ...

  7. iOS AVAudioSession 配置(录音完声音变小问题)

    有这么一个场景,首先我们录音,录音完再播放发现音量变小了: 百思不得其解,查看API发现AVAudioSession里面有这么一个选项, 如果你的app涉及到了音视频通话以及播放其他语音,那么当遇到声 ...

  8. 微软补丁安装工具wusa报错。

    命令行需要msu格式的补丁安装文件的全路径,否则报错.

  9. N1, T1刷机记录

    硬件配置 N1和T1使用的是晶晨Amlogic方案的芯片, 配置明细分别如下, 都是现在盒子的主流配置 N1CPU: Amlogic S905, ARM Cortex-A53 四核 up to 2.0 ...

  10. django --- DetailView源码分析

    [背景] 最近在看django官方文档的class-based-views这一节的时候一直不得要领,感觉自己清楚,但是回想起来又没有脉络:于是没有办法只 能是“暗中观察”django的源码了. 刚打开 ...