python數字排序 循環_【python-leetcode448-循環排序】找到所有數組中消失的數字

問題描述:

給定一個范圍在? 1 ≤ a[i] ≤ n (?n = 數組大小 ) 的 整型數組,數組中的元素一些出現了兩次,另一些只出現一次。

找到所有在 [1, n] 范圍之間沒有出現在數組中的數字。

您能在不使用額外空間且時間復雜度為O(n)的情況下完成這個任務嗎? 你可以假定返回的數組不算在額外空間內。

示例:

輸入:

[4,3,2,7,8,2,3,1]

輸出:

[5,6]

核心;循環排序法,讓每個數字在其應該的位置上。注意數值和下標之間的關系

classSolution:def findDisappearedNumbers(self, nums: List[int]) ->List[int]:

res=[]

l=0

r=len(nums)-1

while l<=r:if nums[l] != nums[nums[l]-1]:

nums[nums[l]-1],nums[l] = nums[l],nums[nums[l]-1]else:

l+=1

for i inrange(len(nums)):if i+1 !=nums[i]:

res.append(i+1)return res

比如:nums=[4,3,2,7,8,2,3,1]

過程:

[7,3,2,4,8,2,3,1]

[3,3,2,4,8,2,7,1]

[2,3,3,4,8,2,7,1]

[3,2,3,4,8,2,7,1]

[2,3,3,4,8,2,7,1]

[2,3,3,4,1,2,7,8]

[1,3,3,4,2,2,7,8]

[1,2,3,4,3,2,7,8]

最后再遍歷一次數組:值!=下標+1,將下標+1加入到結果中。

結果:

b629d513355a92fc32dbd83d9d78ea96.png

原文:https://www.cnblogs.com/xiximayou/p/12358903.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539681.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539681.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539681.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

saiku+kettle整合(六)olap操作

title: saikukettle整合&#xff08;六&#xff09;olap操作 tags: categories: saiku date: 2016-08-25 18:18:54 使用saiku可以對應使用相關olap操作 OLAP的基本操作 我們已經知道OLAP的操作是以查詢——也就是數據庫的SELECT操作為主&#xff0c;但是查詢可以很復雜&#xf…

攜程Docker實踐

原文地址&#xff1a;http://www.iteye.com/news/31468 請點擊原文閱讀 ---------------------以下是原文---------------------- 從去年底開始&#xff0c;攜程開始計劃把Docker引入到攜程的云平臺&#xff0c;這是系統研發部一部分的工作任務&#xff0c;攜程系統研…

mysql全文索引thinkphp_ThinkPHP5 使用迅搜 (XunSearch) 實現全文檢索實例指導

前期準備入坑了一天&#xff0c;折騰的無語&#xff0c;個人觀點&#xff1a;【文檔太差&#xff0c;適合學習思路&#xff0c;不建議入坑】背景最近在整理全文檢索解決方案注意到 xunsearch 的評價很高&#xff0c;在此記錄一番場景描述此處作為對 xunsearch 的初次使用&#…

為何有些程序員總是想要“干掉”產品經理?

好了&#xff0c;我準備去和產品經理做斗爭去了&#xff0c;請祝我好運吧&#xff01;小編花了大量時間收集了很多干貨編程學習資源&#xff0c;其中資源包括 算法&#xff0c;大數據&#xff0c;人工智能&#xff0c;Python&#xff0c;Android&#xff0c;iOS&#xff0c;Jav…

多個left join 產生多個結果

select a.*,to_char(To_date(20160403000000, yyyyMMddhh24miss),yyyy/mm/dd) as omc_start_time,to_char(To_date(20160404000000, yyyyMMddhh24miss),yyyy/mm/dd) as omc_end_time,ROUND(sc."切換成功率",2) AS "OMC-源小區切換成功率%",ROUND(sc."…

查看進程占用,并kill掉

今天發現8899端口被占&#xff0c;服務器啟動失敗&#xff0c;用了下面的命令解決。 [rootltesqm Toolbox]# netstat -tunlp |grep 8899 tcp 0 0 :::8899 :::* LISTEN 28279/java [rootltesqm Toolbox]…

Spark算子篇 --Spark算子之combineByKey詳解

一。概念 rdd.combineByKey(lambda x:"%d_" %x, lambda a,b:"%s%s" %(a,b), lambda a,b:"%s$%s" %(a,b))三個參數&#xff08;都是函數&#xff09;第一個參數&#xff1a;給定一個初始值&#xff0c;用函數生成初始值。第二個參數&#xff1a;c…

mysql proxy 主從_【MYSQL知識必知必會】MySQL主從復制讀寫分離(基于mysql-proxy實現)...

MySQL主從復制讀寫分離(基于mysql-proxy實現)http://mirror.bit.edu.cn/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz解壓tar zxvf mysql-proxy-0.8.4-linux-glibc2.3-x86-64bit.tar.gz創建mysql-proxy帳號并授權分別在主從數據庫中創建mys…

SecureCRT防止自動斷開

今天在寧波連接上海的linux庫&#xff0c;是外網訪問內網&#xff0c;使用了nat123這個軟件映射的。 發現SecureCRT連接后&#xff0c;過幾分鐘就自動斷開&#xff0c;導致使用SecureCRT做跳轉機的其他應用使用起來很不方便。 于是設置了下SecureCRT。

mysql 主主結構_高性能mysql主主架構

(3)配置參數說明server-id&#xff1a;ID值唯一的標識了復制群集中的主從服務器&#xff0c;因此它們必須各不相同。master_id必須為1到232–1之間的一個正整數值&#xff0c;slave_id值必須為2到232–1之間的一個正整數值。log-bin&#xff1a;表示打開binlog,打開該選項才可以…

解決ios編譯swift報錯pcm was built: mtime changed

問題 編譯ios工程失敗時&#xff0c;其中的幾個swift文件報以下錯 /Users/tomes/code/project/xxx.swift File /Users/tomes/Library/Developer/Xcode/DerivedData/Spec-dgyhrnmgvfkjkqbboklnfgrudqip/Build/Products/Debug-iphoneos/xxxx.framework/Headers/xxxx.h has been…

AI工程師職業規劃和學習路線完整版

AI工程師職業規劃和學習路線完整版 如何成為一名機器學習算法工程師 成為一名合格的開發工程師不是一件簡單的事情&#xff0c;需要掌握從開發到調試到優化等一系列能 力&#xff0c;這些能力中的每一項掌握起來都需要足夠的努力和經驗。而要成為一名合格的機器學習算法工程師&…

oracle 多個with as

主要看多個with的格式 [sql] view plaincopy WITH T3 AS ( SELECT T1.ID, T1.CODE1, T2.DESCRIPTION FROM TB_DATA T1, TB_CODE T2 WHERE T1.CODE1 T2.CODE ), T4 AS ( SELECT T1.ID, T1.CODE2, T2.DESCRIPTION FROM TB_DATA T1, TB_CODE T2 WHERE T1.C…

mysql主鍵 命中率_mysql主鍵問題

MySQL主鍵一. MySQL主鍵設計原則MySQL主鍵應當是對用戶沒有意義的。MySQL主鍵應該是單列的&#xff0c;以便提高連接和篩選操作的效率(當然復合主鍵是可以的&#xff0c;只是不建議)永遠也不要更新MySQL主鍵MySQL主鍵不應包含動態變化的數據&#xff0c;如時間戳、創建時間列、…

Centos7常用命令[掛載文件系統]

Centos7常用命令[掛載文件系統]------------------------------------------------------------------------------# 掛載一個叫做hda2的盤-確定目錄/mnt/hda2已經存在[rootlocalhost ~]# mount /dev/hda2 /mnt/hda2# 卸載一個叫做hda2的盤-先從掛載點/mnt/hda2退出[rootlocalh…

hadoop SecondNamenode

一、定義 * The Secondary Namenode is a helper to the primary Namenode. * The Secondary is responsible for supporting periodic checkpoints * of the HDFS metadata. The current design allows only one Secondary * Namenode per HDFs cluster. * The Secondary Nam…

Tensorflow Python API 翻譯(sparse_ops)

作者&#xff1a;chen_h 微信號 & QQ&#xff1a;862251340 微信公眾號&#xff1a;coderpai 我的博客&#xff1a;請點擊這里計劃現將 tensorflow 中的 Python API 做一個學習&#xff0c;這樣方便以后的學習。 原文鏈接該章介紹有關稀疏張量的API稀疏張量表示對于多維稀疏…

高性能mysql 小查詢_高性能MySql進化論(十一):常見查詢語句的優化

總結一下常見查詢語句的優化方式1 COUNT1. COUNT的作用 COUNT(table.filed)統計的該字段非空值的記錄行數 COUNT(*)或者是COUNT(not nullable field) 統計的是全表的行數如果要是統計全表記錄數&#xff0c;COUNT(*)效率會比COUNT(not nullable fie…

ORA-01861: 文字與格式字符串不匹配

select to_date(20160401000000,yyyy-mm-dd) from dual; ---------- 報錯&#xff1a;ORA-01861: 文字與格式字符串不匹配 原因&#xff1a;字符串20160401000000與要轉換的格式 yyyy-mm-dd 格式不對。 20160401000000 是 yyyymmddhh24miss 格式的 -------- select to_da…

首席架構師徐海峰眼中的架構和出色的架構師

CSDN架構領域編輯采訪了一些與會講師&#xff0c;談談他們將在會上分享的內容、相關技術和程序人生&#xff0c;帶你領略講師風采。 本期我們采訪的講師是來自閱文集團首席架構師徐海峰&#xff0c;主要負責內容中心的網站架構和分布式存儲、分布式計算工作。10年互聯網開發經驗…