一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 343|回复: 3
收起左侧

[动态规划] 请教Leetcode的一道动态规划题

[复制链接] |试试Instant~ |关注本帖
benjie2015 发表于 2016-7-21 12:45:11 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
本帖最后由 benjie2015 于 2016-7-20 21:56 编辑

Leetcode 138题House Robber:

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

我用递归写的,然后TimeLimited:

Submission Result: Time Limit Exceeded

大家可以帮我分析下吗?如果我一定想写成递归的话,怎么改呢?

谢谢大家。




TimeLimit

TimeLimit
gaocan1992 发表于 2016-7-21 13:09:56 | 显示全部楼层
乍看是溢出了吧
回复 支持 1 反对 0

使用道具 举报

pushazhiniao 发表于 2016-7-21 13:11:53 | 显示全部楼层
建global的空间存储index为各个值时的money,其实也是变相dp,但是不会妨碍你写递归。
不过这题用不着递归,dp就够了,lc87才用得上dp+递归。
回复 支持 反对

使用道具 举报

gypdtc 发表于 2016-7-21 13:34:44 | 显示全部楼层
这个太裸了啊,楼主自己笔算一下会发现这是以二叉树的形式向下搜素的啊,每一个index都被重复计算了,建议用一个数组把每个index的结果存下来,如果计算出来的就不用再调用递归函数计算了。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 13:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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