#3798. 练1-移除指定元素
练1-移除指定元素
题目描述
给定一个长度为 (n) 的数组 nums
和一个整数 val
,请你原地移除数组中所有等于 val
的元素,并返回移除后数组中不等于 val
的元素个数 (k)。
你需要将 不等于 val
的元素 移到数组的前 (k) 个位置,其顺序可以改变。数组的剩余位置内容不作要求(可以保留原值,也可以覆盖为任意值)。
你的程序应输出这个 (k) 值,并输出数组中前 (k) 个不等于 val
的元素。
输入格式
- 第一行包含两个整数 (n) 和 (val),分别表示数组的长度和要移除的数值。
- 第二行包含 (n) 个整数,表示数组的元素。
输出格式
- 第一行输出一个整数 (k),表示不等于
val
的元素个数。 - 第二行输出 (k) 个整数,为处理后数组中前 (k) 个不等于
val
的元素,顺序可以任意。
数据范围
- \(0 \leq n \leq 100\)
- \(0 \leq \text{nums}[i] \leq 50\)
- \(0 \leq val \leq 100\)
输入样例 1
4 3
3 2 2 3
输出样例 1
2
2 2
输入样例 2
8 2
0 1 2 2 3 0 4 2
输出样例 2
5
0 1 4 0 3
说明
- 样例 1 中,所有等于 3 的元素被移除,剩下两个 2。
- 样例 2 中,3 个 2 被移除,剩下 5 个元素,它们可以按任意顺序排在前面。