給定乙個排序陣列,你需要在原地刪除重複出現的元素,使得每個元素最多出現兩次,返回移除後陣列的新長度。
不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用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,並且原陣列的前五...