lintcode 100 刪除排序陣列中的重複數字

2022-03-29 17:44:58 字數 445 閱讀 8170

素只出現一次,並且返回新的陣列的長度。

不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。

樣例給出陣列a =[1,1,2],你的函式應該返回長度2,此時a=[1,2]。

標籤陣列 兩根指標 臉書

思路

將陣列分為兩段,前一段是已經刪除重複元素的陣列,後一段是未刪除重複元素的陣列

用下標 i 指向非重陣列最大值(即陣列最右邊的元素),下標 j 指向重複陣列中第乙個與非重陣列中元素不同的元素

將 j 指向的元素值賦給 i+1 指向的元素,即可增大非重陣列

code

class solution 

int newsize = 1;

while(jelse

}return newsize;

}};

LintCode(100)刪除排序陣列中的重複數字

給定乙個排序陣列,在原陣列中刪除重複出現的數字,使得每個元素只出現一次,並且返回新的陣列的長度。不要使用額外的陣列空間,必須在原地沒有額外空間的條件下完成。您在真實的面試中是否遇到過這個題?yes 樣例 給出陣列a 1,1,2 你的函式應該返回長度2,此時a 1,2 對排序陣列去重,要求空間複雜度為...

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是最右端非被刪除元素,可以...