leetcode刷題 27 移除元素

2022-08-24 02:45:08 字數 732 閱讀 5878

給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o(1) 額外空間的條件下完成。

元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。

給定 nums = [3,2,2,3], val = 3,

函式應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2。

你不需要考慮陣列中超出新長度後面的元素。

單指標移動,當前值不等於目標值,指標向後移動一位,當前值等於目標值,指標不動,刪掉當前元素,陣列長度減一

def remove_element(nums, val):

nums_len = len(nums)

index = 0

while(index != nums_len):

if(nums[index] == val):

del(nums[index])

nums_len -= 1

else:

index += 1

return nums_len

nums = [3, 2, 2, 3]

val = 3

result = remove_element(nums, val)

print(result)

使用while迴圈往往比for迴圈要好一些,邊界值判斷、索引值設定更加簡單

Leetcode刷題 27 移除元素

描述 給你乙個陣列nums和乙個值val,你需要原地移除所有數值等於val的元素,並返回移除後陣列的新長度。不要使用額外的陣列空間,你必須僅使用o 1 額外空間並原地修改輸入陣列。元素的順序可以改變。你不需要考慮陣列中超出的新長度。示例 給定nums 3,2,2,3 val 3 返回新長度2,陣列前...

leetcode刷題筆記 第27題 移除元素

描述 給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 給定 nums 3,2,2,3...

leetcode刷題 移除元素

給你乙個陣列 nums 和乙個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後陣列的新長度。不要使用額外的陣列空間,你必須僅使用 o 1 額外空間並 原地 修改輸入陣列。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 va...