刪除排序陣列中的重複項 II

2021-10-01 09:39:12 字數 649 閱讀 2697

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

不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用o(1) 額外空間的條件下完成。

雙指標法,一次遍歷陣列,用乙個變數n來儲存當前指標數字的相同個數,n初始值為1;若相鄰兩個數相等,則n = n+1,不相等時將n置1,;若 n > 2了,則說明至少有3個重複的值了,用splice刪除。

var removeduplicates = function (nums)  else 

if (n > 2)

}return nums.length;

};

在思路一的基礎上進行改進,題目中說道,每個元素最多出現兩次,那就沒有必要比較相鄰的數了,只需要隔乙個數比較,即第i個和第i+2個,相同則刪除,不同則向後移指標。

var removeduplicates = function (nums)  else 

}return nums.length;

};

刪除排序陣列中的重複項 II

給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定 nums 1,1,1,2,2,3 函式應返回新長度 length 5,並且原陣列的前五個元素被修...

刪除排序陣列中的重複項 II

題目 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定 nums 1,1,1,2,2,3 函式應返回新長度 length 5,並且原陣列的前五個元...

80 刪除排序陣列中的重複項 II

亟需優化 給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。示例 1 給定 nums 1,1,1,2,2,3 函式應返回新長度 length 5,並且原陣列的前五...