複製 Python 中的零
假設我們有一個定長的整數陣列,我們需要複製每個出現的零,同時將剩餘元素移至右側。
請注意,原始陣列長度之外的元素不會被寫入。
所以,如果該陣列為 [1,0,2,3,0,4,5,0],那麼修改之後它將為 [1,0,0,2,3,0,0,4]
為了解決這個問題,我們將按照以下步驟操作 −
- 將陣列複製到另一個數組 arr2,設定 i 和 j 為 0
- 當 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]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP