給定乙個陣列 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...