C#实现如何判断一个数组中是否有重复的元素
2018-04-11 23:41
921 查看
如何判断一个数组中是否有重复的元素
实现判断数组中是否包含有重复的元素方法 这里用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 = 0; 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 = 0; i < array.Length; i++) { for (int j = 0; 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[] { 1,2,3,4,3,6,7,8}; int[] array2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }; 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(); }
运行结果:
程序源代码工程下载
各位好汉如果有更好的方法能够优化程序,减少计算的次数,麻烦给出,感激!
相关文章推荐
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素?要求时间复杂度O(n),空间复杂度O(1)
- 如何判断一个整数数组中是否有重复元素
- 如何判断一个整数数组中是否有重复元素
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- C++ - 一个非递减数组,下标从0到n,元素的取值范围为从0到n的整数,判断其中是否有重复元素
- c# 如何判断一个类是否实现了某个接口
- 判断一个int数组中的元素是否存在重复
- C# 如何判断一个类是否实现了某个接口
- javascript如何判断数组内元素是否重复的方法集锦
- javascript 如何判断元素是否包含一个特定的类,hasClass函数的实现
- 一个数组,下标从0到n,元素为从0到n的整数。判断其中是否有重复元素
- c# 如何判断一个类是否实现了某个接口
- 编写js扩展方法实现判断一个数组中是否包含某个元素
- javascript如何判断数组内元素是否重复的方法集锦
- 一个数组下标从0到n,元素为从0到n的整数,判断其中是否有重复元素。
- 一个长度为N的整形数组,数组中每个元素的取值范围是[0,N-1],写一个算法判断数组中是否存在重复的数字