Python3刪除排序數組中重復項的方法分析
本文實例講述了Python3刪除排序數組中重復項的方法。分享給大家供大家參考,具體如下:
給定一個排序數組,你需要在[原地]刪除重復出現的元素,使得每個元素只出現一次,返回移除后數組的新長度。
不要使用額外的數組空間,你必須在[原地]修改輸入數組并在使用 O(1) 額外空間的條件下完成。
示例 1:
給定數組 nums = [1,1,2],
函數應該返回新的長度 2, 并且原數組 nums 的前兩個元素被修改為 1, 2。
你不需要考慮數組中超出新長度后面的元素。
示例 2:
給定 nums = [0,0,1,1,1,2,2,3,3,4],
函數應該返回新的長度 5, 并且原數組 nums 的前五個元素被修改為 0, 1, 2, 3, 4。
你不需要考慮數組中超出新長度后面的元素。
說明:
為什么返回數值是整數,但輸出的答案是數組呢?
請注意,輸入數組是以“引用”方式傳遞的,這意味著在函數里修改輸入數組對于調用者是可見的。
你可以想象內部操作如下:
// nums 是以“引用”方式傳遞的。也就是說,不對實參做任何拷貝 int len = removeDuplicates(nums); // 在函數里修改輸入數組對于調用者是可見的。 // 根據你的函數返回的長度, 它會打印出數組中該長度范圍內的所有元素。 for (int i = 0; i < len; i++) { print(nums[i]); }
代碼主體:
# -*- coding:utf-8 -*- #! python3 class Solution(object): def removeDuplicates(self, nums): """ :param nums: :return: """ i = 0 while i < len(nums) - 1: if nums[i] == nums[i+1]: nums.remove(nums[i]) else: i = i + 1 return len(nums) if __name__ == '__main__': a = Solution() count = a.removeDuplicates([1, 2, 2, 2, 2, 3]) print(count)
運行結果:
3
PS:本站還有兩款比較簡單實用的在線文本去重復工具,推薦給大家使用:
在線去除重復項工具:
http://tools.jb51.net/code/quchong
在線文本去重復工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關于Python相關內容可查看本站專題:《Python字典操作技巧匯總》、《Python字符串操作技巧匯總》、《Python常用遍歷技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
解決jupyter notebook 前面書寫后面內容消失的問題
這篇文章主要介紹了解決jupyter notebook 前面書寫后面內容消失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python統(tǒng)計分析模塊statistics用法示例
這篇文章主要介紹了Python統(tǒng)計分析模塊statistics用法,結合實例形式分析了Python統(tǒng)計分析模塊statistics計算平均數、中位數、出現次數、標準差等相關操作技巧,需要的朋友可以參考下2019-09-09python實現按鍵精靈找色點擊功能教程,使用pywin32和Pillow庫
這篇文章主要介紹了python實現按鍵精靈找色點擊功能教程,使用pywin32和Pillow庫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python+OpenCV實現圖片及視頻中選定區(qū)域顏色識別
這篇文章主要為大家詳細介紹了如何利用Python+OpenCV實現圖片及視頻中選定區(qū)域顏色識別功能,文中的示例代碼講解詳細,感興趣的可以了解一下2022-07-07