Spring boot 大資料量刪除,防止資料庫I/O錯誤辦法
阿新 • • 發佈:2021-01-15
技術標籤:leetcode
力扣第27題 移除元素
給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後陣列的新長度。
eg:
1.給定nums = [3,2,2,3], val = 3
函式應該返回新的長度 2, 並且 nums 中的前兩個元素均為 2
2.給定 nums = [0,1,2,2,3,0,4,2], val = 2
函式應該返回新的長度 5, 並且 nums 中的前五個元素為 0, 1, 3, 0, 4
我這裡提供了一種解法 ,算不上最優解法,但能解出來!
class Solution:
def removeElement (self, nums: List[int], val: int) -> int:
i=0 # 定義一個nums的指標
while True: # 先來個死迴圈
if val not in nums: # 判斷val是否在nums裡面 如果沒有就退出迴圈
break
if nums[i] == val: # 從第0個元素開始判斷 它是否和val值相等
nums.pop(i) # 如果他們相等就刪除該元素
i= 0 # 重置指標 讓它一直從第0個元素開始判斷 直到val沒有在nums為止
continue # 跳出本次迴圈
i+=1 # 如果它第0個元素和val不相等, 然後就會進入這裡 然後在與第二個元素、第三個元素、比較 以此類推
return len(nums)