Я хочу удалить последовательные повторяющиеся числа из массива, как если бы в этом массиве повторялась последовательность из двух или более экземпляров одного и того же целого числа, последовательно повторяемая (см. Пример ниже).Удаление последовательных чисел из массива int
int[] array = {3, 1, 1, 2, 1, 4, 4, 4};
после удаления последовательных повторных чисел
(like 1,1 and 4,4,4)=>{3,2,1}
, таким образом, я хочу, чтобы переместить порядковые номера, чтобы положить конец и хочу использовать Array.Resize()
функцию, чтобы изменить размер массива. Мне не нужен полный код, подход будет прекрасным.
static void RemoveRepeated(ref int[] array)
{
int count = 0; bool flag;
for (int i = 0; i < array.Length; i++)
{
flag = true;
for (int j = i+1; j < array.Length-1; j++)
{
if (array[i] == array[j])
{
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
if (flag)
{
count++;
flag = false;
}
}
}
}
Array.Resize(ref array,array.Length-count);
}
Вы имеете в виду, что вам нужны только уникальные номера? Вы, например, так говорите! Для этого в C# вы можете выполнить 'array.Distinct();' –
Разрешено ли вам использовать коллекции? –
Нам не нужен весь ваш код, соответствующие порции будут в порядке. – csmckelvey