删除有序数组中重复的元素

删除有序数组中重复的元素 ii

http://www.nowcoder.com/questionTerminal/567f420f12ed4069b7e1d1520719d409

一个通用的思路:用index记录新数组的下标,遍历旧数组,如果当前元素与A[index-2]的元素不相同,则表示这个数应该放入新数组。(其中2可以变为1,3,4...)代码如下:

//
// Created by jt on 2020/9/24.
//
class Solution {
public:
    int removeDuplicates(int A[], int n) {
        if (n <= 2) return n;
        int idx = 2;
        for (int i = 2; i < n; ++i) {
            if (A[idx-2] != A[i]) {
                A[idx++] = A[i];
            }
        }
        return idx;
    }
};
刷遍天下无敌手 文章被收录于专栏

秋招刷题历程

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务