網(wǎng)站建設(shè)初期世界羽聯(lián)最新排名
1.暴力解法
數(shù)組的元素在內(nèi)存地址中是連續(xù)的,不能單獨(dú)刪除數(shù)組中的某個(gè)元素,只能覆蓋
//暴力解法int n=nums.length;for(int i=0;i<n;i++){if(nums[i]==val){//第一層循環(huán)先找到目標(biāo)值的位置for(int j=i+1;j<n;j++){nums[j-1]=nums[j];//第二層循環(huán)讓目標(biāo)值后面的元素都往前移動(dòng)一位}i--;//i回到目標(biāo)值前一位的索引(因?yàn)槟繕?biāo)值后面的元素都往前移動(dòng)了一位)n--;//數(shù)組整體長(zhǎng)度也減1}}return n;}
2.雙指針
//雙指針?lè)?/span>int n=nums.length;int slowindex=0;for(int fastindex=0;fastindex<n;fastindex++){if(nums[fastindex]!=val){nums[slowindex]=nums[fastindex];//快指針不指向目標(biāo)值的時(shí)候,讓慢指針往后移動(dòng)一位,這樣當(dāng)快指針指向目標(biāo)值的時(shí)候,慢指針正好在目標(biāo)值前一位,當(dāng)下次快指針指向非目標(biāo)值的時(shí)候,正好讓慢指針覆蓋了目標(biāo)值slowindex++;}}return slowindex;