每日一題 移動零

2021-10-16 11:03:55 字數 1262 閱讀 5419

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。

輸入: [0,1,0,3,12]

輸出: [1,3,12,0,0]

說明:

必須在原陣列上操作,不能拷貝額外的陣列。

儘量減少操作次數。

將陣列中所有0刪掉,然後刪掉了幾個就在末尾追加幾個。

class

solution

:def

movezeroes

(self, nums)

: len_nums =

len(nums)

while nums.count(0)

>0:

nums.remove(0)

new_len =

len(nums)

for i in

range

(len_nums - new_len):0

)

使用雙指標的方法解,就很便捷。

class

solution

:def

movezeroes

(self, nums)

: left =

0 right =

1while right <

len(nums)

:if nums[left]==0

and nums[right]!=0

: nums[left]

, nums[right]

= nums[right]

, nums[left]

left +=

1 right +=

1elif nums[left]==0

and nums[right]==0

: right +=

1else

: left +=

1 right +=

1if __name__ ==

'__main__'

: li =[0

,1,0

,3,12

] solution(

).movezeroes(li)

print

(li)

每日一題 120 矩陣置零

給定乙個 m x n 的矩陣,如果乙個元素為 0,則將其所在行和列的所有元素都設為 0。請使用原地演算法。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0...

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...

每日一題2018 3 21

leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...