动态规划法,递增子序列长度

求一个序列中满足元素是递增关系的子序列的最大长度。

int travelSerialize(vector<int>& serialize)
{
	vector<int> depth(serialize.size(),1); // 记录每个元素可形成的子序列最大深度
	for (int index = 1; index < serialize.size(); ++index)
	{
		int littleCount = 1; // 子序列最大深度
		for (int innerIndex = 0; innerIndex < index; ++innerIndex)
		{
			if (serialize.at(innerIndex) < serialize.at(index))
			{
				littleCount = depth.at(innerIndex) + 1;
			}
			else
			{
				littleCount = depth.at(innerIndex);
			}
		}
		if (littleCount > depth.at(index))
		{
			depth[index] = littleCount;
		}
	}
	return depth.at(serialize.size()-1);
}

猜你喜欢

转载自blog.csdn.net/u010196624/article/details/88430216