我尝试了几个Web开发框架,例如Zend Framework 1/2,Yii,Ruby on Rails,Django for Python,Spring + myBatis等等.其中大多数附带了代码生成器,可以减轻编写CRUD,表数据编辑和SQL迁移(等等)的负担.例如,Yii中的Gii,ROR上的迁移工具,myBatis的myBatis生成器,Django应用程序管理器等等.但我在ZF找不到相同的工具.
ZF2中的代码生成是否有用,下面是示例功能:
看看下面的代码,我用两种方法来解决问题(简单的递归和DP).为什么DP方式更慢?
你的建议是什么?
#!/usr/local/bin/python2.7
# encoding: utf-8
Run Code Online (Sandbox Code Playgroud)
问题:有一个带正整数的数组.给定正整数S,\找到数字和为S的组合总数.
方法一:
def find_sum_recursive(number_list, sum_to_find):
count = 0
for i in range(len(number_list)):
sub_sum = sum_to_find - number_list[i]
if sub_sum < 0:
continue
elif sub_sum == 0:
count += 1
continue
else:
sub_list = number_list[i + 1:]
count += find_sum_recursive(sub_list, sub_sum)
return count
Run Code Online (Sandbox Code Playgroud)
方法二:
def find_sum_DP(number_list, sum_to_find):
count = 0
if(0 == sum_to_find):
count = 1
elif([] != number_list and sum_to_find > 0):
count = find_sum_DP(number_list[:-1], sum_to_find) + find_sum_DP(number_list[:-1], sum_to_find - number_list[:].pop())
return count
Run Code Online (Sandbox Code Playgroud)
运行它: …