1000个乱序正整数(每个数都小于1000)中找出10个最大数问题(最高效,不服来战)
一、以空间换时间(最高效)
1.声明一个数组a[0]-a[999]
2.for循环这1000个数,将数组中下标与相对应的数相同的设置为1,否则设置为0.
(例如,这1000个数中,某个数是555,就把a[555]=1)
3.数组逆向循环,找出10个=1的数,把数组下标打印出来
N<时间复杂度<2N(N=1000)
二、冒泡排序
遍历一次冒出一个最大数,需要遍历10次
时间复杂度=10N(N=1000)