wordpress布置網(wǎng)站教程友情鏈接只有鏈接
- 給你一個(gè)有序數(shù)組 nums ,請(qǐng)你 原地 刪除重復(fù)出現(xiàn)的元素,使得出現(xiàn)次數(shù)超過(guò)兩次的元素只出現(xiàn)兩次,返回刪除后數(shù)組的新長(zhǎng)度。
- 不要使用額外的數(shù)組空間,你必須在 原地 修改輸入數(shù)組 并在使用 O(1)額外空間的條件下完成。
示例 1:
輸入:nums = [1,1,1,2,2,3] 輸出:5, nums = [1,1,2,2,3] 解釋:函數(shù)應(yīng)返回新長(zhǎng)度 length = 5, 并且原數(shù)組的前五個(gè)元素被修改為 1, 1, 2, 2, 3。 不需要考慮數(shù)組中超出新長(zhǎng)度后面的元素。
示例 2:
輸入:nums = [0,0,1,1,1,1,2,3,3] 輸出:7, nums = [0,0,1,1,2,3,3] 解釋:函數(shù)應(yīng)返回新長(zhǎng)度 length = 7, 并且原數(shù)組的前七個(gè)元素被修改為 0, 0, 1, 1, 2, 3, 3。不需要考慮數(shù)組中超出新長(zhǎng)度后面的元素
答案:
class Solution {public int removeDuplicates(int[] nums) {int slow = 1;for(int fast=2; fast<nums.length; fast++){ // fast從2開(kāi)始,因?yàn)榍皟蓚€(gè)必定是要的if(nums[fast] == nums[slow] && nums[slow] == nums[slow-1]){ // 出現(xiàn)了第三個(gè)重復(fù)的continue;}nums[++slow] = nums[fast];}return slow + 1; }
}