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

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)化
中文字幕乱码日韩一二三区| 91麻豆视频福利视频| 91亚洲精品国产一区| 日韩二区三区在线视频| 日韩二区三区在线观看| 黄色成人av免费看| 99热这里只有精品免费播放| 内射极品美女在线观看| 国产精品免费视频能看的| av岛国不卡一区二区在线观看| 91av国产一区二区| 欧美日韩综合人妻丝袜偷拍| 国产精品一区二区三区欧美| 一区二区三区日韩电影在线| 欧美黄片完整版在线观看 | 欧美黄色成人免费网站| 日本成人高清一区二区| 九九热在线视频观看最新| 日韩黄色精品中文视频| 久久人人97超碰人人爱一久久精品| 男女互射视频在线观看| 日本精品专区在线观看| 亚洲日本一区二区一本一道| 精品亚洲av一区二区三区| 国产一区二区伦理视频| 日韩欧美亚洲一区二区| 亚洲精品主播一区二区三区| 日本欧美一区二区二区视频免费| 99在线精品热视频| 国产一区欧美二区日韩三区| 亚洲欧美日韩国产精品专区| av永久免费观看网站| 五月激情丁香婷婷色网| 丝袜美腿一区在线播放| 少妇被又粗又硬猛烈进视频| 2020年国产97精品自拍| 国产一区二区激情在线| 日本欧美一区二区二区视频免费| 欧美日韩亚洲国产极品| 亚洲综合激情另类专区| 免费看真人性生活视频|