南沙C++信奧賽陳老師解一本通題 1117:整數去重

南沙区信奥赛陈老师發表於2024-11-06

【題目描述】

給定含有nn個整數的序列,要求對這個序列進行去重操作。所謂去重,是指對這個序列中每個重複出現的數,只保留該數第一次出現的位置,刪除其餘位置。

【輸入】

輸入包含兩行:

第一行包含一個正整數n(1≤n≤20000)n(1≤n≤20000),表示第二行序列中數字的個數;

第二行包含nn個整數,整數之間以一個空格分開。每個整數大於等於1010、小於等於50005000。

【輸出】

輸出只有一行,按照輸入的順序輸出其中不重複的數字,整數之間用一個空格分開。

【輸入樣例】

5
10 12 93 12 75

【輸出樣例】

10 12 93 75
#include <iostream>
using namespace std;
int a[20001],b[20001];
int main()
{
	int n,cnt=0;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++)
	{
		bool flag=false;
		for(int j=1;j<=cnt;j++)	//在已有陣列中,則不用再加 
			if(a[i]==b[j])
			{
				flag=true;
				break;
			}
		if(!flag)
			b[++cnt]=a[i];
	}		
	for(int i=1;i<=cnt;i++)
		cout<<b[i]<<" ";
	return 0;
}
南沙C++信奧賽陳老師解一本通題 1117:整數去重

相關文章