C#实现如何判断一个数组中是否有重复的元素
如何判断一个数组中是否有重复的元素
实现判断数组中是否包含有重复的元素方法 这里用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#实现如何判断一个数组中是否有重复的元素的更多相关文章
- C#实现如何判断一个数组中是否有重复的元素 返回一个数组升序排列后的位置信息--C#程序举例 求生欲很强的数据库 别跟我谈EF抵抗并发,敢问你到底会不会用EntityFramework
C#实现如何判断一个数组中是否有重复的元素 如何判断一个数组中是否有重复的元素 实现判断数组中是否包含有重复的元素方法 这里用C#代码给出实例 方法一:可以新建一个hashtable利用hasht ...
- JS判断一个数组中是否有重复值的三种方法
方法一: var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace( ...
- js如何判断一个数组中是否有重复的值
引自:http://bbs.tianya.cn/post-414-38497-1.shtml 方法一: var ary = new Array("111","22&quo ...
- C#中怎么判断一个数组中是否存在某个数组值
(1) 第一种方法: ,,}; ); // 这里的1就是你要查找的值 ) // 不存在 else // 存在 (2) 第二种方法: string[] strArr = {"a",& ...
- C#中判断一个数组中是否存在某个数组值 及相关
声明:reference:http://www.cnblogs.com/icebutterfly/archive/2010/06/22/1762738.html:http://blog.csdn.ne ...
- js 算法,判断一个数组中的数字出现多少次
let arr = [11, 11, 2, 2, 5, 5, 5, 5, 3]; //创建一个map,把每个数字和其个数相对应 let countObj = {}; for (i = 0; i < ...
- LeetCode.961-2N数组中N次重复的元素(N-Repeated Element in Size 2N Array)
这是悦乐书的第365次更新,第393篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第227题(顺位题号是961).在大小为2N的数组A中,存在N+1个唯一元素,并且这些元 ...
- JS判断一个数组中有无重复元素(数字)
前段时间遇到了这个问题 也百度了很多 不过还是用自己的方法解决了 一个超级简单的方法 简单到令人发指 由于直接写文本太丑了 所以还是截图吧 嘻嘻嘻 假如有一个这样的数组 (这是假如 可能每个人的数据 ...
- 496. Next Greater Element I 另一个数组中对应的更大元素
[抄题]: You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subse ...
随机推荐
- Linux TC(Traffic Control)框架原理解析
近日的工作多多少少和Linux的流控有点关系.自打几年前知道有TC这么一个玩意儿而且多多少少理解了它的原理之后,我就没有再动过它,由于我不喜欢TC命令行,实在是太繁琐了.iptables命令行也比較繁 ...
- 慎用ArrayList的contains方法,使用HashSet的contains方法代替
在启动一个应用的时候,发现其中有一处数据加载要数分钟,刚开始以为是需要load的数据比较多的缘故,查了一下数据库有6条左右,但是单独写了一个数据读取的方法,将这6万多条全部读过来,却只需要不到10秒钟 ...
- [CGAL]带岛多边形三角化
CGAL带岛多边形三角化,并输出(*.ply)格式的模型 模型输出的关键是节点和索引 #include <CGAL/Triangulation_vertex_base_with_id_2.h&g ...
- error LNK1104:无法打开文件"lua51.lib"
今天学习C++与Lua通信,遇到了问题:fatal error LNK1104: 无法打开文件“lua51.lib” 开发环境: VS2012 cocos版本:cocos2d-x-3.0 已经按书&l ...
- ckeditor 上传图片解决跨域问题
前后端分离ckeditor跨域问题处理 这个跨域问题很常见,特别是前后端分离的情况,IP地址不同导致了页面跨域,具体原因大多是因为前端ifame问题 分析 ckeditor插件里config.js需要 ...
- vim IDE配置
参考: http://www.cnblogs.com/witcxc/archive/2011/12/28/2304704.html http://www.cnblogs.com/ma6174/arch ...
- iOS AVAudioSession 配置(录音完声音变小问题)
有这么一个场景,首先我们录音,录音完再播放发现音量变小了: 百思不得其解,查看API发现AVAudioSession里面有这么一个选项, 如果你的app涉及到了音视频通话以及播放其他语音,那么当遇到声 ...
- 微软补丁安装工具wusa报错。
命令行需要msu格式的补丁安装文件的全路径,否则报错.
- N1, T1刷机记录
硬件配置 N1和T1使用的是晶晨Amlogic方案的芯片, 配置明细分别如下, 都是现在盒子的主流配置 N1CPU: Amlogic S905, ARM Cortex-A53 四核 up to 2.0 ...
- django --- DetailView源码分析
[背景] 最近在看django官方文档的class-based-views这一节的时候一直不得要领,感觉自己清楚,但是回想起来又没有脉络:于是没有办法只 能是“暗中观察”django的源码了. 刚打开 ...