1. 程式人生 > >一天一道演算法題——數對數目分析

一天一道演算法題——數對數目分析

 題目:     給定2個數組X和Y,元素都是正數,請找出滿足如下條件的數對的個數:   1.x^y > y^x,即x的y次方大於y的x次方   2.x來自X陣列,y來自Y陣列分析:你真的想要暴力嗎,如果兩個陣列的長度為m和n,那麼暴力的複雜度整整有O(m*n)那麼高,而且沒有用到正數這個條件我們來變形一下:

x^y>y^x

yx > xy

y/y > x/x

所以,對於陣列X,Y計算該值,然後對Y陣列排序,對X陣列遍歷,對於每個x,在Y中進行二分查詢

所以現在的時間複雜度為O(nlogn+m*logn)