O(n)算法得到数组中第k大的数字
生活随笔
收集整理的這篇文章主要介紹了
O(n)算法得到数组中第k大的数字
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
思路:只要牽扯到排序,那么復(fù)雜度就是O(nlogn)的了。這里我們借鑒了快速排序的思想,首先任取一個(gè)數(shù)字,將小于它的放到左邊,大于它的放到右邊,然后這個(gè)數(shù)字的位置就可以確定。通過(guò)比較k和這個(gè)數(shù)字的位置,我們就可以判斷應(yīng)該在這個(gè)數(shù)字的左邊還是右邊,然后就可以重復(fù)上面的操作。最終復(fù)雜度是O(n),但是最終數(shù)組的位置會(huì)改變。
代碼如下:
努力加油a啊,(o)/~
總結(jié)
以上是生活随笔為你收集整理的O(n)算法得到数组中第k大的数字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 基于开源鸿蒙 OpenHarmony,汇
- 下一篇: 1+7什么时候发布(1综合频道高清直播)