免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 无风之谷
打印 上一主题 下一主题

这样的面试题,你会吗?(有奖) [复制链接]

论坛徽章:
0
111 [报告]
发表于 2011-12-13 18:01 |只看该作者
回复 108# hbmhalley
为什么说复杂度是n^1.6?

论坛徽章:
0
112 [报告]
发表于 2011-12-13 18:05 |只看该作者
回复 110# edshea


    设方阵为n*n
    每次将一个n*n变成三个(n/2)*(n/2),即
    f(n) = 3*f(n/2)+1
    由主定理得 复杂度为O(n^log(2,3)) 约为O(n^1.6)

论坛徽章:
0
113 [报告]
发表于 2011-12-13 18:07 |只看该作者
回复 111# hbmhalley
还请指教更高效的算法

论坛徽章:
0
114 [报告]
发表于 2011-12-13 18:13 |只看该作者
本帖最后由 hbmhalley 于 2011-12-13 18:28 编辑

回复 112# edshea


    见22L
    这是目前我看到的所有正确算法中最快的一个 O(n)的
    3L也是O(n)的,不过是从f(n)=2*f(n/2)+log(n)得到的O(n+log(n)),会稍慢一点

    第二等是O(n*log(n))的,有逐行二分的,也有把22L改成二分的(87L)

    再就是O(n^1.6)的了

    再就是暴力找了 ..

论坛徽章:
0
115 [报告]
发表于 2011-12-13 19:31 |只看该作者
回复 113# hbmhalley
22L的算法怎么证明正确性呢?

论坛徽章:
0
116 [报告]
发表于 2011-12-13 19:34 |只看该作者
本帖最后由 hbmhalley 于 2011-12-13 19:38 编辑

回复 114# edshea


    对于一个左下角位置(x,y),若Goal<(x,y),那么对于所有t>y,有Goal<(x,t);由于不存在(x,<y)的格子,所有第x行可以被删掉
                                       若Goal>(x,y),那么对于所有t<x,有Goal>(t,y);由于不存在(>x,y)的格子,所以第y列可以被删掉

论坛徽章:
0
117 [报告]
发表于 2011-12-13 19:42 |只看该作者
回复 115# hbmhalley
受教了,不难理解,编码也简洁,很优雅!
多谢!

论坛徽章:
0
118 [报告]
发表于 2011-12-14 10:32 |只看该作者
回复 22# crazyhadoop


    思路都是正确的,可惜没有代码

论坛徽章:
0
119 [报告]
发表于 2011-12-14 10:43 |只看该作者
回复 33# 午夜凋零

谢谢参与本次活动。

第1题使用循环遍历的方法,结果正确,但效率有待提高。第2题的第一问的perl代码实现正确,第二问的思路正确,但在2的多少次方的细节上,有些小瑕疵。

论坛徽章:
0
120 [报告]
发表于 2011-12-14 10:54 |只看该作者
回复 34# pozenfly


    谢谢关注这次活动。很好奇第2题的第2问怎么用DP来分析?

    另外,这是一本关于程序员面试的书。我们也不能要求每个来面试的应聘者,都是ACMer吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP