LeetCode第七天

今天被拉去干活,用了一下pandas模块,有些不太懂的地方,明天记录一下。

26. Remove Duplicates from Sorted Array 在已经排好序的数组里面去除重复的数值,要求每一个数值只有一个,并且修改该数组并返回新数组长度。

class Solution:
    def removeDuplicates(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        index = 0  # 当前索引指针,用它和后面的值进行对比
        while index < len(nums)-1:  # 需要注意,这样写就在每一次循环都会重新获取nums的长度,就会避免在接下来判断的时候的数组出界
            if nums[index] == nums[index+1]:  # 当前指针和下一个指针的数值比大小,相同的话,删除后一个,指针不变
                del nums[index+1]
            else:  # 如果数值不同,指针后移,题目好像没有要求返回长度,只是修改了数组即可
                index += 1

 

27. Remove Element  这道题比较简单,就是指定一个值,如果出现在List中,就把这个值就地去掉,同样使用del函数即可。需要注意的是和上面一样,需要在每次循环时重新获取nums的长度。

class Solution:
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        index = 0
        while index < len(nums):
            if nums[index] == val:  # 如果指定值和List中的值相同,删除该值
                del nums[index]
            else:  # 如果不相同,则指针后移
                index += 1
        return len(nums)

 

本来今天多做了几道,实在太晚,溜了溜了。

posted @ 2018-03-05 23:19  Vancuicide  阅读(90)  评论(0)    收藏  举报