假如你是一个偷窃犯,你想要在半夜偷华狮街上的房子内的金钱,每个房子内都有一定量的金额,但是如果你偷了连续相邻的两个房子,便会惊扰**。现在给定你N个房子,请问你要怎么偷窃才能在不惊扰**的情况下得到最多的金钱呢? 比如现在有十间房子,里面含有的金钱分别是:5,6,3,7,6,12,18,2,6,10 . 请问你怎么样才能偷得最多的钱呢? 答案是42。5 3 6 18 10 = 42,这个答案并不是那么好想,尤其是当N变得特别大的时候则更难想得到了。这时候我们就要思考怎么样让计算机帮我们进行计算。 实际上问题的解法可以从下面这两种情况得到:
从这里我们可以得到一种递归的解决方法:
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|