摘要:題目描述給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。給定數(shù)組函數(shù)應(yīng)該返回新的長度并且原數(shù)組的前兩個元素被修改為。
題目描述
給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。
給定數(shù)組 nums = [1,1,2], 函數(shù)應(yīng)該返回新的長度 2, 并且原數(shù)組 nums 的前兩個元素被修改為 1, 2。解題思路
采用雙指針方式處理。
初始指針 i, j 位置為 0
指針 j 先向右移動
比較指針 i,j 元素是否相同,若指針i,j元素相同則指針 j 繼續(xù)向右移動;反之將指針 j 元素復(fù)制到指針 i + 1 處元素
當(dāng)指針 j 移動到數(shù)組末尾時則停止
其流程如下圖所示:
實現(xiàn)public static int solution (int[] nums) { int i = 0, j = 0; while (true) { // 指針 j 向右移動 j++; // 指針 j 移動到數(shù)組末尾則退出,說明數(shù)組元素都判斷了去重 if (j >= nums.length) { break; } if (nums[j] == nums[i]) { // 指針 i, j 元素相同,說明重復(fù)元素; // 指針 j 繼續(xù)向右移動 continue; } else { // 指針 i, j 元素不相同;則將指針 j 元素復(fù)制到 指針 i 后一位,這樣就保證指針 i 后元素不重復(fù) nums[i + 1] = nums[j]; // 指針 i 向右移動,繼續(xù)處理 i++; } } return i + 1; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73476.html
前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類 26 刪除排序數(shù)組中的重復(fù)項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項2 88 合并兩個有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...
摘要:題目給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素最多出現(xiàn)兩次,返回移除后數(shù)組的新長度。示例給定函數(shù)應(yīng)返回新長度并且原數(shù)組的前五個元素被修改為。也就是說,不對實參做任何拷貝在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的。 題目 給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素最多出現(xiàn)兩次,返回移除后數(shù)組的新長度。不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在...
摘要:描述給定一個有序數(shù)組,你需要原地刪除其中的重復(fù)內(nèi)容,使每個元素只出現(xiàn)一次并返回新的長度。最后慢指針指向的元素及前面所有元素都是不重復(fù)的。 描述: 給定一個有序數(shù)組,你需要原地刪除其中的重復(fù)內(nèi)容,使每個元素只出現(xiàn)一次,并返回新的長度。不要另外定義一個數(shù)組,您必須通過用 O(1) 額外內(nèi)存原地修改輸入的數(shù)組來做到這一點。示例: 給定數(shù)組: nums = [1,1,2], 你的函數(shù)應(yīng)該返回新...
摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經(jīng)到題,所以后面會調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...
閱讀 1628·2021-09-08 10:42
閱讀 3611·2021-08-11 10:23
閱讀 3982·2019-08-30 14:10
閱讀 2740·2019-08-29 17:29
閱讀 3097·2019-08-29 12:50
閱讀 647·2019-08-26 13:36
閱讀 3463·2019-08-26 11:59
閱讀 1494·2019-08-23 16:23