[LeetCode] 026. Remove Duplicates from Sorted Array (Easy) (C++/Java)

来源:互联网 发布:ioscf手游刷枪软件 编辑:程序博客网 时间:2024/05/16 04:14

索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql)
Github: https://github.com/illuz/leetcode


026. Remove Duplicates from Sorted Array (Easy)

链接

题目:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-array/
代码(github):https://github.com/illuz/leetcode

题意

给一个有序数列,删重复的元素。

分析

如果可以开一个数组来存就非常容易。但是这题不让你用多余的空间。
不过也不难,只要维护一个新的坐标就行了。
用 C++ 的 STL 可以只要一句话:用 unique 实现功能,用 distance 计算大小。

Java 和 Python 的写法都和 C++ 的一样,这里就不写出来了。

代码

C++: (模拟)

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


C++: (STL)

class Solution {public:    int removeDuplicates(int A[], int n) {        return distance(A, unique(A, A + n));    }};


1 0