欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

LeetCode中怎么刪除排序數(shù)組中的重復(fù)項(xiàng)

這篇文章給大家介紹LeetCode中怎么刪除排序數(shù)組中的重復(fù)項(xiàng),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、巴林左旗ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的巴林左旗網(wǎng)站制作公司


   
 

一,刪除排序數(shù)組中的重復(fù)項(xiàng)

 

1,問題簡述

給定一個(gè)排序數(shù)組,你需要在 原地 刪除重復(fù)出現(xiàn)的元素,使得每個(gè)元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。

不要使用額外的數(shù)組空間,你必須在 原地 修改輸入數(shù)組 并在使用 O(1) 額外空間的條件下完成。

 

2,示例描述

示例 1:

給定數(shù)組 nums = [1,1,2],

函數(shù)應(yīng)該返回新的長度 2, 并且原數(shù)組 nums 的前兩個(gè)元素被修改為 1, 2。

你不需要考慮數(shù)組中超出新長度后面的元素。
示例 2:

給定 nums = [0,0,1,1,1,2,2,3,3,4],

函數(shù)應(yīng)該返回新的長度 5, 并且原數(shù)組 nums 的前五個(gè)元素被修改為 0, 1, 2, 3, 4。

你不需要考慮數(shù)組中超出新長度后面的元素。
 

說明:

為什么返回?cái)?shù)值是整數(shù),但輸出的答案是數(shù)組呢?

請注意,輸入數(shù)組是以「引用」方式傳遞的,這意味著在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的。

你可以想象內(nèi)部操作如下:

// nums 是以“引用”方式傳遞的。也就是說,不對實(shí)參做任何拷貝
int len = removeDuplicates(nums);

// 在函數(shù)里修改輸入數(shù)組對于調(diào)用者是可見的。
// 根據(jù)你的函數(shù)返回的長度, 它會打印出數(shù)組中該長度范圍內(nèi)的所有元素。
for (int i = 0; i < len; i++) {
    print(nums[i]);
}

 
   

3,解題思路

兩種思路,(1)第一次,遍歷數(shù)組時(shí),讓第一個(gè)元素當(dāng)做"哨兵"節(jié)點(diǎn),然后遍歷數(shù)據(jù)進(jìn)行后面元素的比對,不過每次遍歷數(shù)組時(shí)都要記得更新"哨兵"節(jié)點(diǎn)的數(shù)據(jù);(2),根據(jù)hashMap鍵值對集合進(jìn)行操作

 

4,題解程序


import java.util.HashMap;
import java.util.Map;

public class RemoveDuplicatesTest2 {
   public static void main(String[] args) {
       int[] nums = {1, 1, 2};
       int removeDuplicates = removeDuplicates2(nums);
       System.out.println("removeDuplicates = " + removeDuplicates);
   }

   public static int removeDuplicates(int[] nums) {
       int len = nums.length;
       if (0 == len) {
           return 0;
       }
       int prev = nums[0];
       int newLen = 1;
       for (int i = 1; i < len; i++) {
           int num = nums[i];
           if (num != prev) {
               nums[newLen++] = num;
               prev = num;
           }
       }
       return newLen;
   }

   public static int removeDuplicates2(int[] nums) {
       if (nums == null || nums.length == 0) {
           return 0;
       }
       Map<Integer, Integer> map = new HashMap<>(nums.length);
       int index = 0;
       for (int i = 0; i < nums.length; i++) {
           int value = map.getOrDefault(nums[i], 0) + 1;
           map.put(nums[i], value);
           if (value <= 1) {
               nums[index++] = nums[i];
           }
       }
       return index;
   }
}


關(guān)于LeetCode中怎么刪除排序數(shù)組中的重復(fù)項(xiàng)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享名稱:LeetCode中怎么刪除排序數(shù)組中的重復(fù)項(xiàng)
本文來源:http://aaarwkj.com/article28/igcojp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、小程序開發(fā)、網(wǎng)站改版、移動(dòng)網(wǎng)站建設(shè)、云服務(wù)器、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
国产一区二区三区av| av全欧国男人在线天堂| 99热这里只有精品中文有码| 国产一区二区日韩一区| 国产精品一级性生活片| 亚洲一区二区三区免费在线看| 熟女亚洲一区精品久久| 抱着操才爽的免费视频观看| 日本一区二区三区中文字幕不卡| 久久精品国产亚洲av麻豆尤物| 中文一级伦理一区二区| 日韩人妻av免费电影| 日韩一区二区三区av| 国产视频一区二区三区网| 中文字幕日韩人妻一二三区| 欧美日韩在线高清一区二区| 国产不卡的视频在线观看| 中文字幕九七精品乱码| 日韩中文字幕在线有码| 91日本精品一区二区| 97久久精品亚洲中文字幕| 丰满人妻在线一区二区三区| 精品久久中文字幕久久av| 久久91亚洲精品久久91| 亚洲综合av一区二区三区四区| 成人国产精品2021| 成人永久免费播放平台| 国产高潮呻吟久久av| 99热精品综合在线观看| 日本精品在线一区二区| 97热久久精品中文字幕一区| 久草福利视频免费播放| 日韩精品一二三黄色一级| 日本一本一道高清不卡视频| 色噜噜人妻av中文字幕| 另类国产人妖免费视频网站大全| 日韩不卡区免费在线观看| 国产自愉怕一区二区三区| 亚洲情色精品国产一区| 同为人妻一区二区三区| 亚洲中文字幕激情中午字幕|