c++怎么去除數(shù)組中相鄰重復(fù)項(xiàng)

c++
小億
104
2024-02-18 11:38:20

要去除數(shù)組中相鄰重復(fù)項(xiàng),可以使用兩個(gè)指針來(lái)遍歷數(shù)組并將不重復(fù)的元素復(fù)制到新的數(shù)組中。

以下是一個(gè)示例代碼:

#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函數(shù)用來(lái)去除輸入數(shù)組nums中的相鄰重復(fù)項(xiàng),并返回一個(gè)新的不含重復(fù)項(xiàng)的數(shù)組。主函數(shù)main中,首先定義了輸入數(shù)組nums,并調(diào)用removeAdjacentDuplicates函數(shù)。最后輸出不含重復(fù)項(xiàng)的數(shù)組。

0