国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

?LeetCode 26:刪除排序數(shù)組中的重復(fù)項(xiàng) Remove Duplicates from So

Alan / 2757人閱讀

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

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

Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

示例 1:

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

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

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

示例 2:

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

函數(shù)應(yīng)該返回新的長度 5, 并且原數(shù)組 nums 的前五個元素被修改為 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]);
}
解題思路:

? 定義兩個指針,指針 i 索引遍歷數(shù)組,指針 j 索引值與 i 索引值比較,如果相等則 i 繼續(xù)遍歷,如果不等則將索引 i 的值賦值得到索引 j+1 的值。

Java:
class Solution {
    public int removeDuplicates(int[] nums) {
        int numsLen = nums.length;
        if (numsLen < 1) return numsLen;//如果數(shù)組只有一個值或空數(shù)組,直接返回該數(shù)組的長度
        int j = 0;
        for (int i = 1; i < numsLen; i++) {//指針 i 從從索引 1 開始遍歷數(shù)組
            if (nums[i] != nums[j]) {//與索引 j 的值比較
                nums[++j] = nums[i];//如果不相等 索引j+1 ,并得到索引i的值
            }
        }
        return j + 1;//返回到指針 j,數(shù)組的長度
    }
}

? python這道題并沒有很特殊的解法。

Python3:
class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        numsLen = len(nums)
        if(numsLen < 1):
            return numsLen
        j = 0
        for i in range(1, numsLen):
            if nums[j] != nums[i]:
                j += 1
                nums[j] = nums[i]
        return j+1
公眾號:愛寫bug(ID:iCodeBugs)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/75368.html

相關(guān)文章

  • ?LeetCode 26刪除排序數(shù)組中的重復(fù)項(xiàng) Remove Duplicates from So

    給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。 不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。 Given a sorted array nums, remove the duplicates in-place such that each element appear only once and re...

    cnTomato 評論0 收藏0
  • leetcode刷題記錄-【26 Remove Duplicates from Sorted Ar

    摘要:給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用額外空間的條件下完成。聲明兩個指針,為快指針,為慢指針如果遇到相同的數(shù),那么就跳過,。 給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組...

    heartFollower 評論0 收藏0
  • leetcode刷題記錄--【80 Remove Duplicates from Sorted Ar

    摘要:給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素最多出現(xiàn)兩次,返回移除后數(shù)組的新長度。正確思路對于每一個元素,都進(jìn)行移動。或者比較不到最后一個對象。 給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素最多出現(xiàn)兩次,返回移除后數(shù)組的新長度。不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。 錯誤思路:由26題跳過一個的思...

    haobowd 評論0 收藏0
  • leetcode 26 Remove Duplicates from Sorted Array

    摘要:題目比較簡單,就是找出數(shù)組不重復(fù)的數(shù)字,返回不重復(fù)的數(shù)字個數(shù)。無需刪除重復(fù)數(shù)字,只需要保證數(shù)組的前位為不重復(fù)的個數(shù)字即可代碼如下 Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not all...

    alaege 評論0 收藏0
  • ??思維導(dǎo)圖整理大廠面試高頻數(shù)組9: 刪除重復(fù)元素的通解問題, 力扣26/80??

    此專欄文章是對力扣上算法題目各種方法的總結(jié)和歸納, 整理出最重要的思路和知識重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn), 當(dāng)然也會加上我對導(dǎo)圖的詳解. 目的是為了更方便快捷的記憶和回憶算法重點(diǎn)(不用每次都重復(fù)看題解), 畢竟算法不是做了一遍就能完全記住的. 所以本文適合已經(jīng)知道解題思路和方法, 想進(jìn)一步加強(qiáng)理解和記憶的朋友, 并不適合第一次接觸此題的朋友(可以根據(jù)題號先去力扣看看官方題解, 然后再看本文內(nèi)容). 關(guān)...

    MasonEast 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<