题解 | #序列中整数去重#
序列中整数去重
http://www.nowcoder.com/practice/6564a2f6e70f4153ad1ffd58b2b28490
int main() {
int n;
scanf("%d", &n);
int m[n];
for (int i = 0; i < n; i++) {
scanf("%d ", &m[i]);
}
for (int j = 0; j < n; j++) {
for (int k = j + 1; k < n; k++) {
if (m[j] == m[k]) { //判断当前值是否等于后面的值
for (int x = k + 1; x < n; x++) {
//将相同值位置的后面值均向前覆盖,达到删除效果
m[x - 1] = m[x];
}
n--; //总长度减1
k--; //防止有连续重复值,重新判断一次
}
}
}
for (int y = 0; y < n; y++) { //输出
printf("%d ", m[y]);
}
return 0;
}