假設給你一個實數陣列,不能直接通過A[i]的方式獲取陣列里面數的值。
再假設可以呼叫一個函式Q() 接收一個陣列然后可以告訴你這個陣列里面有多少非重復的實數。e.g. T = {1,2,2} Q(T) = 2
問題:如何用O(nlogn)次呼叫Q()函式來找到這個陣列中全部的重復數,并且把陣列按照值分類,相同的值放在一起,不同的不放在一起
有大佬愿意解答一下嗎。很多人一看就是經典的mergesort類似的題目。但是鑒于無法直接查看數的值,目前只找到了O(n^2logn)的方法,也就是總共有logn層遞回,每層遞回用了O(n^2)來找到重復的數。感謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/43311.html
標籤:數據結構與算法
