下面是如何用C#找出数组中只出现了一次的数字的完整攻略。
问题描述
在一个整数数组中,除了一个数字只出现一次之外,其他数字都出现了两次。请找出那个只出现一次的数字。
解题思路
由于数组中只有一个数字出现一次,其他数字都出现了两次,那么可以先将数组中的数字进行排序,然后遍历这个排序后的数组,每次比较当前数字和它后面的数字是否相同,如果不相同则说明当前数字只出现了一次。
代码实现
请看以下示例代码,其中FindNumberAppearOnce
方法可以找出数组中只出现了一次的数字。
using System;
class Program
{
static void Main(string[] args)
{
int[] array1 = { 2, 3, 4, 5, 2, 4, 3 };
Console.Write("数组1中只出现一次的数字为:");
Console.WriteLine(FindNumberAppearOnce(array1));
int[] array2 = { 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 8 };
Console.Write("数组2中只出现一次的数字为:");
Console.WriteLine(FindNumberAppearOnce(array2));
}
static int FindNumberAppearOnce(int[] array)
{
Array.Sort(array);
for (int i = 0; i < array.Length - 1; i += 2)
{
if (array[i] != array[i + 1])
{
return array[i];
}
}
return array[array.Length - 1];
}
}
示例说明
假设有两个数组,分别为array1
和array2
。array1
中只出现了一次的数字为5,array2
中只出现了一次的数字为7。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用C#找出数组中只出现了一次的数字 - Python技术站