算法:顺序表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)

 

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