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