lintcode 172 刪除元素

2021-08-03 08:13:13 字數 788 閱讀 6805

給定乙個陣列(int a)和乙個值(elem),在原地刪除與值相同的數字,返回新陣列的長度。

元素的順序可以改變,並且對新的陣列不會有影響。

樣例

給出乙個陣列 [0,4,4,0,0,2,4,4],和值 4

返回 4 並且4個元素的新陣列為[0,0,0,2]

定義乙個大小為a.length的int a

依此比較陣列a中元素是否與elem不等,若是,則將其賦值給a[k++],賦值給第k給元素,用k記錄最終不相等的元素個數

返回k

public

intremoveelement(int a, int elem)

}return k;

}

這樣是錯誤的:測試用例中,不僅要返回陣列長度,還要表示新的陣列。

然而,預設是陣列a作為新的陣列

也即題目還有乙個隱含意思:新陣列用a來記錄,a的前k個元素為與elem不同的k個元素

public

intremoveelement(int a, int elem)

fast++;

}return ret;

}

使用兩個標誌位fast,slow。(fast快,在前面;slow慢,在後面)

fast在陣列a中一直往前++;

slow記錄找到的不相同的元素個數,用以賦值。

LintCode 172 刪除元素

給定乙個陣列和乙個值,在原地刪除與值相同的數字,返回新陣列的長度。元素的順序可以改變,並且對新的陣列不會有影響。樣例 給出乙個陣列 0,4,4,0,0,2,4,4 和值 4 返回 4 並且4個元素的新陣列為 0,0,0,2 class solution public param a a list o...

Lintcode 刪除元素

給定乙個陣列和乙個值,在原地刪除與值相同的數字,返回新陣列的長度。元素的順序可以改變,並且對新的陣列不會有影響。example 1 input value 0 output 0 example 2 input 0,4,4,0,0,2,4,4 value 4 output 4 explanation ...

刪除元素(LintCode)

刪除元素 給定乙個陣列和乙個值,在原地刪除與值相同的數字,返回新陣列的長度。元素的順序可以改變,並且對新的陣列不會有影響。樣例給出乙個陣列 0,4,4,0,0,2,4,4 和值 4 返回 4 並且4個元素的新陣列為 0,0,0,2 思路就是把除刪除元素外的元素移到最左邊,r是最右端非被刪除元素,可以...