
Вам дается массив из N целых чисел. Вам необходимо удалить повторяющиеся элементы так, чтобы от
каждого элемента осталось только его самое правое вхождение. При этом относительный порядок оставшихся элементов должен остаться таким, как в изначальном массиве. Входные данные В первой строке вводится целое число N — количество элементов в массиве (1≤N≤50). Во второй строке вводится N целых чисел A1, A2, A3, ..., AN — элементы массива (1≤Ai≤1000). Выходные данные В первой строке выведите одно число — количество оставшихся элементов. Во второй строке выведите сами эти элементы, сохраняя относительный порядок как в оригинальном массиве.

Ответы на вопрос

#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> a(n), res;
vector<bool> used(1001, false);
for(int i = 0; i < n; i++) cin >> a[i];
for(int i = n - 1; i >= 0; i--){
if(!used[a[i]]){
res.push_back(a[i]);
used[a[i]] = true;
}
}
reverse(res.begin(), res.end());
cout << res.size() << "\n";
for(int i = 0; i < res.size(); i++)
cout << res[i] << " ";
}



Для решения этой задачи, вам нужно пройтись по массиву справа налево и сохранить только последние вхождения каждого элемента. Вы можете использовать язык программирования, такой как Python, для выполнения этой задачи. Вот пример кода:
pythonN = int(input())
array = list(map(int, input().split()))
last_occurrence = {} # Словарь для хранения последних вхождений элементов
result = [] # Список для хранения уникальных элементов в правильном порядке
for i in range(N - 1, -1, -1):
if array[i] not in last_occurrence:
last_occurrence[array[i]] = True
result.append(array[i])
result.reverse() # Переворачиваем список, чтобы вернуть его в исходный порядок
print(len(result))
print(" ".join(map(str, result)))
Этот код сначала создает словарь last_occurrence
, чтобы отслеживать последние вхождения каждого элемента. Затем он проходит по исходному массиву справа налево, добавляя только уникальные элементы в список result
. Наконец, он переворачивает result
, чтобы вернуть элементы в исходном порядке, и выводит результат.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili