LeetCode 1089. 复写零缩略图

给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。

注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/duplicate-zeros
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

LeetCode 1089. 复写零插图
OpenCV步步精深-可心科创工作室

思路:题目说原地变换,但是我不想原地,新建个列表,遇到零就再添加一个0,否则就添加本身,存储每一个元素,然后再置换就行了。

python3实现:

class Solution:
    def duplicateZeros(self, arr: List[int]) -> None:
        """
        Do not return anything, modify arr in-place instead.
        """
        result = []

        p = 0
        while p <= len(arr) - 1:
            result.append(arr[p])
            if arr[p] != 0:
                pass
            else:
                result.append(0)
            p += 1

        for i in range(len(arr)):
            arr[i] = result[i]
LeetCode 1089. 复写零插图1
OpenCV步步精深-可心科创工作室

一分钟打死四个蚊子,被咬了16个包,舒服了舒服了。

更多干货见 OpenCV步步精深

作者 admin

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注