楼主: fame
跳转到指定楼层
上一主题 下一主题
收起左侧

Google算法题,有比O(n^2)更好的算法吗?

🔗
bbsbbstry 2016-3-20 01:47:47 | 只看该作者
全局:
colastar 发表于 2016-3-19 15:13
如果用merge sort去找逆序对,那么找到逆序对后,要找到最后的结果应该要有一个O(M)的花费吧,M指得是逆 ...

每次递归除了count还会返回一个sortedlist,所以复杂度和mergesort是一样的,和m没有关系
回复

使用道具 举报

🔗
bbsbbstry 2016-3-20 01:50:07 | 只看该作者
全局:
iwofr 发表于 2016-3-19 00:44
这个是merge sort的一个应用count inverted pairs,搜一下,挺有名的,nlogn。

我感觉不太一样吧?mergesort这个是找和有序序列的逆序对,这个题是找和任意序列,方法感觉不能移植过来吧,请指教
回复

使用道具 举报

🔗
bbsbbstry 2016-3-20 01:50:51 | 只看该作者
全局:
ryancooper 发表于 2016-3-18 14:09
如果只是统计pair的数量的话,可以nlogn

我感觉不太一样吧?nlogn是找和有序序列的逆序对数量吧,这个题是找和任意序列,方法感觉不能移植过来吧,请指教
回复

使用道具 举报

🔗
colastar 2016-3-20 13:13:15 | 只看该作者
全局:
bbsbbstry 发表于 2016-3-20 01:47
每次递归除了count还会返回一个sortedlist,所以复杂度和mergesort是一样的,和m没有关系

我的意思是,你找到了sortedlist后,是需要比较两个数组的sorted list才能得到最后的结果。。
回复

使用道具 举报

🔗
colastar 2016-3-20 13:14:57 | 只看该作者
全局:
bbsbbstry 发表于 2016-3-20 01:47
每次递归除了count还会返回一个sortedlist,所以复杂度和mergesort是一样的,和m没有关系

难道题目的意思是只对A2数组做?-_-#
回复

使用道具 举报

🔗
ryancooper 2016-3-20 13:26:43 | 只看该作者
全局:
bbsbbstry 发表于 2016-3-20 01:50
我感觉不太一样吧?nlogn是找和有序序列的逆序对数量吧,这个题是找和任意序列,方法感觉不能移植过来吧 ...

为啥不能,你实际要对第二个数组按照有第一个数组定义的元素之间的偏序关系来进行排序,在排序过程中不就可以统计逆序对的个数吗
回复

使用道具 举报

🔗
bbsbbstry 2016-3-20 13:57:23 | 只看该作者
全局:
ryancooper 发表于 2016-3-20 13:26
为啥不能,你实际要对第二个数组按照有第一个数组定义的元素之间的偏序关系来进行排序,在排序过程中不就 ...

偏序关系定义这个算法是没问题的,我就是觉得从这道题面试coding的角度这样很蛋疼。我能想到的最好的实现就是先把两个数组都存在的元素从数组2里hash出来,然后用数组一的值做key,index做value建哈希表,用这个表写comparator里的compare函数,然后才能继续写这个算法,这还得建立在数组元素没有重复的基础上,不然更麻烦。。。
回复

使用道具 举报

🔗
bbsbbstry 2016-3-20 13:58:37 | 只看该作者
全局:
ryancooper 发表于 2016-3-20 13:26
为啥不能,你实际要对第二个数组按照有第一个数组定义的元素之间的偏序关系来进行排序,在排序过程中不就 ...

你有什么更好的方法实现么?
回复

使用道具 举报

🔗
bbsbbstry 2016-3-20 14:08:02 | 只看该作者
全局:
colastar 发表于 2016-3-20 13:13
我的意思是,你找到了sortedlist后,是需要比较两个数组的sorted list才能得到最后的结果。。

没懂你的意思,有sortedlists之后就递归树的每层都是一个O(n)的合并了啊,一共log(n)层,这过程中出现数组1元素大于数组2元素时直接把1的后半段加进count里~就完了啊~
回复

使用道具 举报

🔗
iwofr 2016-3-20 23:13:38 | 只看该作者
全局:
bbsbbstry 发表于 2016-3-20 01:50
我感觉不太一样吧?mergesort这个是找和有序序列的逆序对,这个题是找和任意序列,方法感觉不能移植过来 ...

什么是有序序列?要是都有序了为了啥还有逆序对?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表