My leetcode submissions.
1/* ========================================================================
2 *
3 * Filename:
4 * Description:
5 * Author:
6 * Version: 0.0.1
7 *
8 * ======================================================================== */
9#include <iostream>
10#include <vector>
11
12auto removeElement(std::vector<int>& nums, int val) -> int{
13 auto insert = nums.begin();
14 auto ptr = insert;
15 auto k = 0;
16
17 while (ptr != nums.end()) {
18 *insert = (*ptr != val) ? ++insert, ++k, *ptr : *insert;
19 ++ptr;
20 }
21
22 return k;
23}
24
25auto main() -> int
26{
27 auto n1 = std::vector{ 3, 2, 2, 3 };
28 auto v1 = 3;
29
30 std::cout << removeElement(n1, v1) << std::endl;
31
32 for (const auto &e : n1)
33 std::cout << e << ' ';
34 std::cout << "\n";
35
36 auto n2 = std::vector{ 0, 1, 2, 2, 3, 0, 4, 2 };
37 auto v2 = 2;
38
39 std::cout << removeElement(n2, v2) << std::endl;
40
41 for (const auto &e : n2)
42 std::cout << e << ' ';
43 std::cout << "\n";
44 return 0;
45}
46