有一个已知问题"Longest increasing subsequence",它是:给定一个整数数组,找出该数组中增长最长的序列。我现在面临一个类似但显然更复杂的问题:给定一个整数数组和一个给定的数字N,在该数组中找到N个序列,使它们每个都在增加,它们不会与索引相交,它们的总和长度是最大的
到目前为止,我已经尝试了#34;贪心"算法符合以下几行:
还有其他想法吗?
如果你想玩大小合适的样本数据,这里有一个数组:
from datetime import datetime
_defaults = {
'date_start': datetime.now().strftime("%Y-%m-%d") + " 08:00:000",
}
### Suppose user will input start date in date_start field then your code should be like this,
def create(self, cr, uid, vals, context=None):
date = vals.get('date_start',False)
if date:
vals.update({'date_start':date.strftime("%Y-%m-%d") + " 08:00:000"})
return super(class_name, self).create(cr, uid, vals, context=context)
这是一个由3个随机增加子序列构成的数组,每个子序列具有重叠范围,每个子序列的长度为100,因此使用N = 3的适当算法处理此数组应返回完整数组,N = 1,答案应为123 ,并且对于N = 2,不小于222.(真值但尚未确定)