将数组中相邻的两个项替换为一个项
本文关键字:两个 替换 一个 数组 | 更新日期: 2023-09-27 18:02:16
是否有办法将数组中相邻的两个项替换为一个项?
在数组中:
int[] array = new int[]{ 1, 2, 2, 3, 3, 4, 5, 3, 2 };
删除彼此相邻的相同项,结果如下:
{ 1, 2, 3, 4, 5, 3, 2 };
编辑:这是我最后的结果:
int[] array = new int[]{ 1, 2, 2, 3, 3, 4, 5, 3, 2 };
int last = 0;
List<int> Fixed = new List<int>();
foreach(var i in array)
{
if(last == 2 && i == 2 ||
last == 3 && i == 3)
{
}
else
{
Fixed.Add(i);
last = i;
}
}
return Fixed.ToArray() // Will return "{ 1, 2, 3, 4, 5, 3, 2 }"
但是我必须输入所有我想跳过的…
int[] array = new int[] { 1, 2, 2, 3, 3, 4, 5, 3, 2 };
//int[] output = array.Distinct().ToArray();Use this line if you want to remove all duplicate elements from array
int j = 0;
while (true)
{
if (j + 1 >= array.Length)
{
break;
}
if (array[j] == array[j + 1])
{
List<int> tmp = new List<int>(array);
tmp.RemoveAt(j);
array = tmp.ToArray();
}
j++;
}