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

解答一下google intern 那两个算法题

🔗
modifiedname 2011-2-6 13:36:16 | 只看该作者
全局:
递归就没有懂。{:4_84:}
回复

使用道具 举报

🔗
zach 2011-2-6 15:01:34 | 只看该作者
全局:
递归就没有懂。{:4_84:}
小K 发表于 2011-2-6 00:36
要想理解递归,首先你得理解递归。
http://www.google.com/search?q=recursion
hahh
回复

使用道具 举报

🔗
modifiedname 2011-2-6 15:09:45 | 只看该作者
全局:
求解释,为什么第二题会是递归呢?
回复

使用道具 举报

🔗
Jawley 2011-2-6 15:31:39 | 只看该作者
全局:
求解释,为什么第二题会是递归呢?
小K 发表于 2011-2-6 15:09

简单的说,就是n+1长度数组的结果可以在n长度的结果基础上来计算,所以是递归。不用递归也可以。这个严格来说不能叫数学归纳,数学归纳是用来做数学证明的,不是算法。形式上有些类似。
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-2-6 15:52:28 | 只看该作者
全局:
14# Jawley

数据结构和算法导论里几乎一半算法的来源都可以看作数学归纳法
回复

使用道具 举报

🔗
zach 2011-2-6 16:27:10 | 只看该作者
全局:
14# Jawley

数据结构和算法导论里几乎一半算法的来源都可以看作数学归纳法
wwwyhx 发表于 2011-2-6 02:52
还是先定义一下数学归纳法,再讨论吧
回复

使用道具 举报

🔗
Jawley 2011-2-7 06:43:12 | 只看该作者
全局:
14# Jawley

数据结构和算法导论里几乎一半算法的来源都可以看作数学归纳法
wwwyhx 发表于 2011-2-6 15:52

你这是因果倒置。数学归纳法来源于递归思想,你说的一半算法也来源于递归思想。递归是源头,数学归纳法只是一种利用到递归的证明手段而已。
回复

使用道具 举报

🔗
modifiedname 2011-2-7 06:46:50 | 只看该作者
全局:
简单的说,就是n+1长度数组的结果可以在n长度的结果基础上来计算,所以是递归。不用递归也可以。这个严格来说不能叫数学归纳,数学归纳是用来做数学证明的,不是算法。形式上有些类似。
Jawley 发表于 2011-2-6 15:31
gotcha,
q2到底解法是什么呢?
回复

使用道具 举报

🔗
Jawley 2011-2-7 06:59:26 | 只看该作者
全局:
gotcha,
q2到底解法是什么呢?
小K 发表于 2011-2-7 06:46

动态规划(DP)肯定可以,好像还有快速的办法,以前上算法课有相同的一道例题,不过我已经记不得了……
回复

使用道具 举报

🔗
 楼主| wwwyhx 2011-2-7 10:09:10 | 只看该作者
全局:
19# Jawley

Q2:记录波峰波谷到一个数组: 比如1,-1,3,4,-2,3,0....
f(1)读到第一个上升区间为止,比如1,-1,3 : 记录最低点-1,最大差3-(-1) = 4
f(2)读到第二个,读入-2,3, 因为-2<-1,最低点更新为-2。 这样新增的可能最大差为3-(-2) = 5
又因为5>4所以最大差为5, 在1,-1,3,4,-2,3之前最佳买入点为-2最佳抛售点为3.
这就是f(n)和f(n-1)的递推关系。

DP完全没必要,一个for循环搞定。DP的存在意义是避免递归实现而产生的重复计算,比如斐波纳妾数列或最小编辑距离。
回复

使用道具 举报

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

本版积分规则

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