#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 个元素,它们可以按任意顺序排在前面。