Python3實現(xiàn)從排序數(shù)組中刪除重復(fù)項算法分析
本文實例講述了Python3實現(xiàn)從排序數(shù)組中刪除重復(fù)項算法。分享給大家供大家參考,具體如下:
題目:給定一個排序數(shù)組,你需要在原地刪除重復(fù)出現(xiàn)的元素,使得每個元素只出現(xiàn)一次,返回移除后數(shù)組的新長度。
不要使用額外的數(shù)組空間,你必須在原地修改輸入數(shù)組并在使用 O(1) 額外空間的條件下完成。
方案一:利用set()快速剔除重復(fù)元素。 效率最高
# -*- coding:utf-8 -*- #! python3 def removeDuclicates(nums): nums[:] = sorted(set(nums)) return len(nums) #測試 arr1 = [1,1,2,3,4,5,5,6] print(removeDuclicates(arr1))
運行結(jié)果:
6
方案二:雙指針法。 效率次之
# -*- coding:utf-8 -*-
#! python3
def removeDuplicates(nums):
if not nums:
return 0
j = 0
for i in range(1, len(nums)):
if nums[j] != nums[i]:
j += 1
nums[j] = nums[i]
return j + 1
#測試
arr1 = [1,1,2,3,4,5,5,6]
print(removeDuplicates(arr1))
運行結(jié)果:
6
方案三:利用remove()方法。 效率次之
# -*- coding:utf-8 -*-
#! python3
def removeDuplicates(nums):
i = 0
while i < len(nums) - 1:
if nums[i] == nums[i + 1]:
nums.remove(nums[i])
else:
i += 1
return len(nums)
#測試
arr1 = [1,1,2,3,4,5,5,6]
print(removeDuplicates(arr1))
運行結(jié)果:
6
PS:本站還有兩款比較簡單實用的在線文本去重復(fù)工具,推薦給大家使用:
在線去除重復(fù)項工具:
http://tools.jb51.net/code/quchong
在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python字典操作技巧匯總》、《Python字符串操作技巧匯總》、《Python常用遍歷技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python實現(xiàn)美團訂單推送到測試環(huán)境,提供便利操作示例
這篇文章主要介紹了python實現(xiàn)美團訂單推送到測試環(huán)境,提供便利操作,涉及Python基于requests模塊的網(wǎng)絡(luò)請求與數(shù)據(jù)處理相關(guān)操作技巧,需要的朋友可以參考下2019-08-08
Django自定義YamlField實現(xiàn)過程解析
這篇文章主要介紹了Django自定義YamlField實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Python 實現(xiàn)「食行生鮮」簽到領(lǐng)積分功能
今天我們就用 Python 來實現(xiàn)自動簽到,省得我每天打開 APP 來操作了。感興趣的朋友跟隨小編一起看看吧2018-09-09
Python獲取CMD環(huán)境變量值的完整實現(xiàn)指南
環(huán)境變量是操作系統(tǒng)中用于配置程序運行環(huán)境的全局變量,Python?提供了多種方式讀取環(huán)境變量,下面我們就來看看如何使用Python獲取CMD環(huán)境變量值吧2025-06-06
pytorch實現(xiàn)保證每次運行使用的隨機數(shù)都相同
今天小編就為大家分享一篇pytorch實現(xiàn)保證每次運行使用的隨機數(shù)都相同,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Django Admin實現(xiàn)三級聯(lián)動的示例代碼(省市區(qū))
多級菜單在很多上面都有應(yīng)用,這篇文章主要介紹了Django Admin實現(xiàn)三級聯(lián)動(省市區(qū)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

