美文网首页Leetcode刷题笔记
第三十二天 Remove Duplicates from Sor

第三十二天 Remove Duplicates from Sor

作者: 业余马拉松选手 | 来源:发表于2018-09-23 23:09 被阅读3次

    已经坚持了一个月了,但总结的太少,感觉提高还是不够,今天开始总结

    先开个新题:

    https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/

    原地从一个排序数组中删除重复的元素,思路还是双指针【快慢指针】
    因为是排过序的,那么相同的一定是相邻的,那么用s代表是结果数组开始的位置,f比s初识快一步,如果s和f指向的值不相同,那么f这个指向的值就应该是结果数组的值,这时就需要s指针向前走一步,并且这个值应该就是f所指向的那个值。

    嗯,开始有点被绕进去了,非要去删除相同的,其实应该是“逆向”的找不同的就好。

    class Solution(object):
        def removeDuplicates(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            if len(nums) == 0:
                return 0
            s = 0
            for f in range(1,len(nums)):
                if nums[s] != nums[f]:
                    s+=1
                    nums[s] = nums[f]
            return s+1
    

    相关文章

      网友评论

        本文标题:第三十二天 Remove Duplicates from Sor

        本文链接:https://www.haomeiwen.com/subject/dazqoftx.html