- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试实现 CLRS 中说明的杆切割算法,但我发现自己很难获得正确的索引。这是我对内存版本的实现:
import sys
def rod_cutting_memoization(p,n):
r = [None for i in range(n+1)]
r[0] = 0
rod_cutting_memoization_aux(p,n,r)
return r
def rod_cutting_memoization_aux(p,n,r):
print r
if r[n] is not None:
return r[n]
if n is 0:
return 0
else:
q = -100
for i in range(n):
q = max(q, p[i] + rod_cutting_memoization_aux(p,n-i-1,r))
r[n] = q
p=[1, 5, 8, 9, 10, 17, 17, 20, 24, 30]
n = int(sys.argv[1])
print rod_cutting_memoization(p,n)
从 n=2 开始,代码是 int + None。书中的伪代码是用从 1 开始的索引编写的。我总是遇到将索引从 1 到 0 的算法转换的问题。是否有解决此问题的通用方法?
最佳答案
你的递归 rod_cutting_memoization_aux()
函数只返回 r[n] is not None
的值和 n == 0
.如果这些条件都不是 True
, 然后函数就结束了,没有显式 return
, 这意味着 None
而是返回。
这意味着行:
q = max(q, p[i] + rod_cutting_memoization_aux(p,n-i-1,r))
将尝试求和 p[i]
与 None
对于 p, n - i - 1, r
的某些值.
您需要返回 除 None
之外的其他内容 从递归调用中防止这种情况;大概需要返回一个整数。
关于python - 递归混淆——切杆算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956729/
我正在用 python 中的 matplotlib 绘制条形图(数据存储在字典中): plt.bar(range(len(Data)), result3.values(), align='center
是否有一种快速/更简单的方法可以从 PSD 创建 iOS UI 主题(标准和 2x 分辨率)所需的图形文件,例如 http://graphicriver.net/theme_previews/2989
我想切断可折叠集中 jquery 移动 header 的左上角。 这是我的 HTML: Witness Content f
背景:我有一个 C99 例程,需要临时存储具有不同对齐要求的不同数据类型。目前,我多次调用 posix_memalign,这 a) 引入了大量开销,b) 不能保证我的临时对象具有良好的内存局部性。我无
给定的文件格式如下。 GGRPW,33332211,kr,P,SUCCESS,systemrenewal,REN,RAMS,SAA,0080527763,on:X,10.0,N,20120419,mi
这个问题在这里已经有了答案: Cut Corners using CSS (16 个答案) 关闭 7 年前。
我正在尝试剪掉设置了上边框的 span 元素的左上角。 一切正常,除了边框一直在白色 CSS 三 Angular 形上运行。这可以通过从 .contract span 中删除 overflow: hi
我目前正在执行一个相当复杂的数据预处理操作,这是: cat large_file.txt \ | ./reverb -q | cut --fields=16,17,18 | awk -F\\t -vq
这两个命令可以将文件的大小保存到一个变量中,因为我是linux新手,我无法理解那里的工作原理。请解释一下它们是如何工作的。 ls -l | grep testing.txt | cut -f6
我使用 pandas.cut() 将连续变量离散化为一个范围,然后按结果分组。 因为我无法弄清楚哪里出了问题而发了很多誓,我了解到,如果我不为 cut() 函数提供自定义标签,而是依赖默认值,那么输出
我有一个名为 log.log 的实时日志文件,我想在其中捕获一些匹配的模式和值: 例子:log.log 正在增长,我们正在搜索具有模式“ResponseTime = VALUE”的行,我们希望提取匹配
我是一名优秀的程序员,十分优秀!