算法:順序表L中刪去值爲X的元素,要求O(n)的時間複雜度及O(1)的空間複雜度

對於長度爲n的順序表L,編寫一個算法,該算法刪除線性表中的所有值爲X的元素。

要求:時間複雜度O(n)

           空間複雜度O(1)

算法思路:

方法一:用K記錄L中不爲X的元素的個數,即需要保存的元素的個數,邊掃描邊統計k,並將不等於X的元素向前移動k個位置,最後修改L長度,K表示不等於X的元素個數。

方法二:用G記錄L中等於X的元素的個數,邊掃描邊統計G,並將不等於X的元素向前移動G個位置,,最後修改L的長度,G表示等於X的元素的個數。

時間複雜度O(n)

空間複雜度O(1)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章