java去除已排序數(shù)組中的重復(fù)元素
題目描述
給定一個(gè)已排序的數(shù)組,去除數(shù)組中的重復(fù)元素,只保留一個(gè)重復(fù)的元素,并且返回新的數(shù)組長(zhǎng)度。
要求:
不要給數(shù)組分配額外的空間,你必須使用常量的內(nèi)存大小進(jìn)行原地操作。
例如:
給出數(shù)組A=[1,1,2],你的函數(shù)調(diào)用之后必須返回長(zhǎng)度length=2,并且A現(xiàn)在變成[1,2]。
輸入
一個(gè)已排序的數(shù)組,例如[1,1,2]。
輸出
返回?cái)?shù)組新的長(zhǎng)度,例如length=2。
快慢指針?lè)?/strong>
設(shè)置fast指針遍歷數(shù)組,slow指針指向不重復(fù)元素的下一位。
public static int removeDuplicates(int[] nums) { if (nums.length < 1) return nums.length; int slow = 1; for (int fast = 1; fast < nums.length; fast++) { if (nums[fast] != nums[slow - 1]) { nums[slow++] = nums[fast]; } } return slow; }
動(dòng)畫演示:
擴(kuò)展
去除已排序數(shù)組中的重復(fù)元素,保留指定位數(shù)。
public static int removeDuplicatesN(int[] nums, int repeatN) { if (nums.length <= repeatN) return nums.length; int index = repeatN; for (int i = repeatN; i < nums.length; i++) { if (nums[i] != nums[index - repeatN]) { nums[index++] = nums[i]; } } return index; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA多線程的使用場(chǎng)景與注意事項(xiàng)總結(jié)
這篇文章主要給大家介紹了關(guān)于JAVA多線程的使用場(chǎng)景與注意事項(xiàng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03MyBatis批量插入數(shù)據(jù)過(guò)程解析
這篇文章主要介紹了MyBatis批量插入數(shù)據(jù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08Assert.assertNotNull()斷言是否是空問(wèn)題
這篇文章主要介紹了Assert.assertNotNull()斷言是否是空問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10spring簡(jiǎn)單MVC實(shí)現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加)
這篇文章主要介紹了spring簡(jiǎn)單MVC實(shí)現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加),方法參數(shù)使用包括在無(wú)注解下獲取參數(shù),使用@RequestParam 獲取參數(shù)的方法,每種方法講解的非常詳細(xì),需要的朋友可以參考下2024-01-01BootStrap Jstree 樹形菜單的增刪改查的實(shí)現(xiàn)源碼
這篇文章主要介紹了BootStrap Jstree 樹形菜單的增刪改查的實(shí)現(xiàn)源碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02java中調(diào)用GDAL DLL的實(shí)現(xiàn)方法
本篇文章是對(duì)java中調(diào)用GDAL DLL的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05基于SpringBoot構(gòu)建電商秒殺項(xiàng)目代碼實(shí)例
這篇文章主要介紹了基于SpringBoot構(gòu)建電商秒殺項(xiàng)目代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05