#A1007. 移除元素

移除元素

移除元素

题目描述

给定一个长度为 nn 的整数数组和一个整数 valval,请原地移除数组中所有等于 valval 的元素。

将保留下来的元素依次放到原数组的前 kk 个位置,保持它们在原数组中的相对顺序,输出保留的元素数量 kk 和这些元素。

本题的练习要求是使用原数组完成移除,不额外创建与 nn 等长的数组。

输入格式

第一行包含两个整数 nn 和 valval。

当 n>0n>0 时,第二行包含 nn 个整数,表示数组元素;当 n=0n=0 时,没有第二行。

输出格式

第一行输出整数 kk,表示移除后保留的元素数量。

第二行按原顺序输出保留的 kk 个整数,相邻整数用一个空格分隔。当 k=0k=0 时,第二行输出空行。

样例 1

4 3
3 2 2 3

2
2 2

样例 2

8 2
0 1 2 2 3 0 4 2

5
0 1 3 0 4

样例说明

样例 1 中删除两个值为 33 的元素,剩下两个 22。

样例 2 中删除三个值为 22 的元素,其他元素按原来的相对顺序保留。

数据范围

  • 0≤n≤1000\le n\le100;
  • 0≤numsi≤500\le nums_i\le50;
  • 0≤val≤1000\le val\le100。