1000個亂序正整數(每個數都小於1000)中找出10個最大數問題(最高效,不服來戰)


一、以空間換時間(最高效)

1.聲明一個數組a[0]-a[999]

2.for循環這1000個數,將數組中下標與相對應的數相同的設置為個數加1,否則設置為0.

(例如,這1000個數中,某個數是555,就把a[555]=1,如果再次出現555,然后a[555]=2,以此類推)

3.數組逆向循環,找出10個不等於0的數,把數組下標打印出來

N<時間復雜度<2N(N=1000)

二、冒泡排序

遍歷一次冒出一個最大數,需要遍歷10次

時間復雜度=10N(N=1000)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM