用 C++ 编写一个程序,从给定的素数数组中删除重复项
让我们假设我们给出了一个由所有素数组成的数组N大小。任务是在给定数组中找到重复项并删除它们。例如,
输入1-
N = 8 arr[ ] = { 2 ,2 ,2 ,3 ,3 ,3 ,5 ,7 }
输出-
2 3 5 7
说明-在给定的素数数组中,删除重复项后,有一些重复的“2”和“3”,输出将为2357。
输入2-
N = 5 arr[ ] = { 3, 2, 7, 5, 5}
输出-
3 2 7 5
说明-在给定的素数数组中,删除重复项后有一些“5”的重复项,输出将为3275。
解决这个问题的方法
在这个问题中,我们使用一个数字数组来验证该数字是否在数组中被访问过。如果未访问数组元素,则将其设为“1”并将其插入结果中,否则无需插入元素。
输入带有元素的向量数组的N大小。
一个整数向量数组removeDuplicates(vector
一个整数数组,我们用来检测和验证我们的当前元素是否被访问。如果插入时访问了数组中的任何元素(即“1”),那么我们不会将该特定元素推送到向量中,否则推送向量数组中的元素。
结果向量将只包含唯一的素数。
示例
#includeusing namespace std; vector removeDuplicates(vector &arr, int size){ int num[100] ={0}; vector vec; for(int i=0;i arr={2,2,2,3,3,3,5,7}; vector answer= removeDuplicates(arr,N); for(int i=0;i 输出结果 如果我们运行上面的代码,那么它会打印输出,
2 3 5 7如果我们删除重复项,输出将是2357。