一天一道算法题——数对数目分析
2014-08-05 10:41
197 查看
题目: 给定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
y㏑x > x㏑y
y/㏑y > x/㏑x
所以,对于数组X,Y计算该值,然后对Y数组排序,对X数组遍历,对于每个x,在Y中进行二分查找
所以现在的时间复杂度为O(nlogn+m*logn)
分析:你真的想要暴力吗,如果两个数组的长度为m和n,那么暴力的复杂度整整有O(m*n)那么高,而且没有用到正数这个条件我们来变形一下:x^y>y^x
y㏑x > x㏑y
y/㏑y > x/㏑x
所以,对于数组X,Y计算该值,然后对Y数组排序,对X数组遍历,对于每个x,在Y中进行二分查找
所以现在的时间复杂度为O(nlogn+m*logn)
相关文章推荐
- 关于算法导论上一道题的思考,求逆序对数目
- 一道算法面试题的分析
- 一天一道算法题--6.5--数学题
- 一天一道算法题--6.9--数学题
- 一天一道算法题--6.7--stack
- 一道算法题的数学分析
- 一天一道算法题--6.13---计算几何
- 一天一道算法题--5.30---递归
- 一天一道算法题--5.29---动态规划之数塔
- 一天一道算法题---6.11---大数阶乘
- 公司的一道考试题算法分析——大数据量整数排序
- 一道100年后羊圈羊的数量经典算法分析
- 数字字符串一道有道实习生笔试算法题分析
- 一天一道算法题---6.3---二分运用
- 一天一道算法题---5.26---思维锻炼
- Trie树的应用,一道算法问题求解 问题分析
- 一道有道实习生笔试算法题分析
- 一天一道算法题---5.24.--递归
- 一天一道算法题---6.6---排列递推(我不会)
- 一天一道算法题---6.12---链表结点的删除