給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。
不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o(1) 額外空間的條件下完成。
class
solution
:def
removeduplicates
(self, nums: list[
int])-
>
int:
i =0while i+
1<
len(nums)
:if nums[i]
==nums[i+1]
:del nums[i]
else
:i=i+
1return i+
1
這是修改之後的:
class
solution
:def
removeduplicates
(self, nums: list[
int])-
>
int:
i=0 j=
1while j<
len(nums):if
(nums[i]
i+=1 nums[i]
=nums[j]
j+=1return i+
1
資料結構與演算法(2)
程式設計 資料結構 演算法 資料元素 是組成資料的 有一定意義的基本單位,在計算機中通常作為整體處理。資料項 乙個資料元素可以由若干個資料項組成。資料項是資料不可分割的最小單位。資料物件 是性質相同的資料元素的集合,是資料的子集。資料結構 是相互之間存在一種或多種特定關係的資料元素的集合。邏輯結構 ...
資料結構與演算法(2)
鏈結參考 資料結構是相互之間存在一種或多種特定關係的資料元素的集合 那麼具體是什麼關係呢,或者說,這裡的結構又是指什麼呢?按照視點的不同,我們把資料結構分為邏輯結構和物理結構 1,邏輯結構 是指資料物件中資料元素之間的相互關係 邏輯結構分為以下四種 2,物理結構 是指資料的邏輯結構在計算機中的儲存形...
資料結構與演算法2
資料邏輯結構分為線性結構與非線性結構,線性結構分為線性表,棧,佇列,字串,陣列,廣義表 非線性結構主要分為樹形和圖形棧佇列 1只能插入表尾,刪除表尾 1.插在表尾,刪除表頭 xianjin 2.後進先出 2.先進先出 3.例如十進位制轉換,檢驗括號是否匹配 4.棧的資料型別定義 初始化 銷毀 判斷是...