# [LeetCode]#26. Remove Duplicates from Sorted Array

--

Environment: Python 3.8

Key technique: set, sorted

Given an integer array `nums` sorted in non-decreasing order, remove the duplicates in-place such that each unique element appears only once. The relative order of the elements should be kept the same. Then return the number of unique elements in `nums`.

Consider the number of unique elements of `nums` to be `k`, to get accepted, you need to do the following things:

• Change the array `nums` such that the first `k` elements of `nums` contain the unique elements in the order they were present in `nums` initially. The remaining elements of `nums` are not important as well as the size of `nums`.
• Return `k`

Example 1:

`Input: nums = [1,1,2]Output: 2, nums = [1,2,_]Explanation: Your function should return k = 2, with the first two elements of nums being 1 and 2 respectively.It does not matter what you leave beyond the returned k (hence they are underscores).`

Analysis

1. Get set
2. Sort it
3. return result

Solution

`class Solution(object):    def removeDuplicates(self, nums):        nums[:] = set(nums)        nums[:] =sorted(nums)        return len(nums)`

Submissions:

Reference

https://leetcode.com/problems/remove-duplicates-from-sorted-array/submissions/1333492219/

--

--