Python 中的重复零
pythonserver side programmingprogramming更新于 2025/11/4 1:48:17
假设我们有一个固定长度的整数数组,我们必须复制每个出现的零,将剩余元素移到右侧。
请注意,超出原始数组长度的元素不会被写入。
因此,假设数组为 [1,0,2,3,0,4,5,0],则修改后它将为 [1,0,0,2,3,0,0,4]
为了解决这个问题,我们将遵循以下步骤 −
- 将 arr 复制到另一个数组 arr2 中,将 i 和 j 设置为 0
- while i < arr 的大小 −
- 如果 arr2[i] 为零,则
- arr[i] := 0
- 将 i 增加 1
- 如果 i < arr 的大小,则 arr[i] := 0
- 否则 arr[i] := arr2[j]
- 将 i 和 j 增加 1
- 如果 arr2[i] 为零,则
示例
让我们看看下面的实现以便更好地理解 −
class Solution(object): def duplicateZeros(self, arr): arr2 = [i for i in arr] i=0 j = 0 while i < len(arr): if not arr2[j]: arr[i] = 0 i+=1 if i<len(arr): arr[i] = 0 else: arr[i] = arr2[j] j+=1 i+=1 return arr ob1 = Solution() print(ob1.duplicateZeros([1,0,2,3,0,4,5,0]))
输入
[1,0,2,3,0,4,5,0]
输出
[1,0,0,2,3,0,0,4]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

