日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

删除有序数组中的重复项 IIPython解法

發(fā)布時(shí)間:2023/12/19 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 删除有序数组中的重复项 IIPython解法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

給你一個(gè)有序數(shù)組 nums ,請(qǐng)你 原地 刪除重復(fù)出現(xiàn)的元素,使每個(gè)元素 最多出現(xiàn)兩次 ,返回刪除后數(shù)組的新長(zhǎng)度。

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

來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii
?

例:

輸入:nums = [1,1,1,2,2,3]
輸出:5, nums = [1,1,2,2,3]
解釋:函數(shù)應(yīng)返回新長(zhǎng)度 length = 5, 并且原數(shù)組的前五個(gè)元素被修改為 1, 1, 2, 2, 3 。 不需要考慮數(shù)組中超出新長(zhǎng)度后面的元素。

解析:

設(shè)置一個(gè)指針,指針負(fù)責(zé)填值,當(dāng)相同值超過(guò)兩個(gè)時(shí),直接跳過(guò),指針也不移動(dòng),遍歷繼續(xù)前進(jìn),新遍歷的值和指針的前兩個(gè)值進(jìn)行比較,看是否超過(guò)了兩個(gè),如果不同放入指針?biāo)傅奈恢?#xff0c;然后繼續(xù)前進(jìn),直至遍歷完返回指針的值即可。

class Solution(object):def removeDuplicates(self, nums):""":type nums: List[int]:rtype: int"""flag = 0 # 指針for k in nums: # 遍歷if flag < 2 or k != nums[flag-2]: # 判斷nums[flag] = kflag += 1 # 指針后移return flag

總結(jié)

以上是生活随笔為你收集整理的删除有序数组中的重复项 IIPython解法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。