要去除數組中相鄰重復項,可以使用兩個指針來遍歷數組并將不重復的元素復制到新的數組中。
以下是一個示例代碼:
#include <iostream>
#include <vector>
std::vector<int> removeAdjacentDuplicates(std::vector<int>& nums) {
std::vector<int> result;
int n = nums.size();
if (n == 0) {
return result;
}
result.push_back(nums[0]);
for (int i = 1; i < n; i++) {
if (nums[i] != nums[i - 1]) {
result.push_back(nums[i]);
}
}
return result;
}
int main() {
std::vector<int> nums = {1, 2, 2, 3, 4, 4, 4, 5};
std::vector<int> result = removeAdjacentDuplicates(nums);
for (int num : result) {
std::cout << num << " ";
}
return 0;
}
在上面的示例中,removeAdjacentDuplicates函數用來去除輸入數組nums中的相鄰重復項,并返回一個新的不含重復項的數組。主函數main中,首先定義了輸入數組nums,并調用removeAdjacentDuplicates函數。最后輸出不含重復項的數組。