Leetcode: Remove Duplicates from Sorted Array

来源:互联网 发布:达内少儿编程能加盟吗 编辑:程序博客网 时间:2024/05/21 23:39

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array A = [1,1,2],

Your function should return length = 2, and A is now [1,2].

一个稍微复杂的题,搞了很久,没出来,困+郁闷中,来个简单的吧。。。

class Solution {public:    int removeDuplicates(int A[], int n) {        int duplicate = 0;        for (int i = 1; i < n; ++i) {            if (A[i] == A[i-1]) {                ++duplicate;            }            else {                A[i-duplicate] = A[i];            }        }                return (n-duplicate);    }};

========================第二次================================

class Solution {public:    int removeDuplicates(int A[], int n) {        if (n <= 1) {            return n;        }                int index = 1;        for (int i = 1; i < n; ++i) {            if (A[i] != A[i-1]) {                A[index++] = A[i];            }        }                return index;    }};


0 0
原创粉丝点击