[勇者闯LeetCode] 26. Remove Duplicates from Sorted Array

来源:互联网 发布:下载识谱软件 编辑:程序博客网 时间:2024/05/17 16:15

[勇者闯LeetCode] 26. Remove Duplicates from Sorted Array

Description

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 nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn’t matter what you leave beyond the new length.

Information

  • Tags: Array | Two Pointers
  • Difficulty: Easy

Solution

设置两个位置指针,一个指示当前扫描的位置j,一个指示当前存储元素的最后位置i,当nums[j]不同于nums[i]时,i增加1并且nums[i]=nums[j]

class Solution(object):    def removeDuplicates(self, nums):        """        :type nums: List[int]        :rtype: int        """        if len(nums) == 0:             return 0        i = 0        for j in range(1, len(nums)):            if nums[i] != nums[j]:                i += 1                nums[i] = nums[j]        return i + 1
0 0
原创粉丝点击