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 ...
随机推荐
- 在 Python 中使用 in_memory 工作空间
在 Python 中使用 in_memory 工作空间 在 Python 脚本中,in_memory 工作空间仅对地理处理工具有效:它不是可以写入任何数据的通用虚拟目录. 您可以按以下代码示例所示使用 ...
- 用户人品预测大赛--getmax队--竞赛分享
用户人品预测大赛--getmax队--竞赛分享 DataCastle运营 发表于 2016-3-24 14:49:32 533 0 0 答辩PPT
- hive列转行
一.问题 hive如何将 a b a b a b c d c d c d 变为: a b ,, c d ,, 二.数据 test.txt cat column_row.txt a,b, a,b, a, ...
- Java 迭代器综述
一.摘要 迭代器模式是与集合共生共死的.一般来说.我们仅仅要实现一个容器,就须要同一时候提供这个容器的迭代器.使用迭代器的优点是:封装容器的内部实现细节,对于不同的集合,能够提供统一的遍历方式,简化c ...
- windows10多桌面创建 切换 和分屏
windows键+Tab 可以创建和切换新的桌面 win+ctrl+左右箭头 可以切换桌面 Aero Snap是Win7时代增加的一项窗口排列功能,俗称“分屏”.一个最简单例子,就是当你把窗口拖至屏幕 ...
- Non-negative Matrix Factorization 非负矩阵分解
著名的科学杂志<Nature>于1999年刊登了两位科学家D.D.Lee和H.S.Seung对数学中非负矩阵研究的突出成果.该文提出了一种新的矩阵分解思想――非负矩阵分解(Non-nega ...
- 百度「Web 前端研发部」面试过程和常见问题 可能会采用哪些方法来面试 STAR 面试法 喜欢什么样的面试者 喜欢问的问题
http://segmentfault.com/a/1190000002498800 在他们的github上看到的,收藏一下备用.看完觉得还有很多要努力的地方. FEX 的面试过程 我们一般会有 3 ...
- Atitit 常见每日流程日程日常工作.docx v4
Atitit 常见每日流程日程日常工作.docx v4 ----早晨 签到 晨会,每天或者隔天 每日计划( )项目计划,日常计划等. mailbox读取检查 每日趋势 推库 -----下午 签退 每日 ...
- FiDDLER教程
FiDDLER教程 摘自:林猪猪的部落格 的 前端工具 1 FIDDLER的使用方法及技巧总结(连载一)FIDDLER快速入门及使用场景 2 FIDDLER的使用方法及技巧总结(连载二)FIDDLER ...
- Java和Scala语法比较
类型推断 挑逗指数: 四星 我们知道,Scala一向以强大的类型推断闻名于世.很多时候,我们无须关心Scala类型推断系统的存在,因为很多时候它推断的结果跟直觉是一致的. Java在2016 年也新增 ...