推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 548|回复: 3
收起左侧

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

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干活,快来注册

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的结果存下来,如果计算出来的就不用再调用递归函数计算了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-8-21 20:25

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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