資料結構與演算法 作業2

2021-10-02 23:56:20 字數 729 閱讀 5919

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素只出現一次,返回移除後陣列的新長度。

不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 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.棧的資料型別定義 初始化 銷毀 判斷是...