【DP】在矩阵中,选择一条从左上角到右下角、经过数字之和最大的路径

题目:EPI

【DP】在矩阵中,选择一条从左上角到右下角、经过数字之和最大的路径_第1张图片

int max_fishing(vector> A)
{
	if (A.empty() || A[0].empty())
		throw new exception;
	for (int i = 0; i < A.size(); i++)
	{
		for (int j = 0; j < A[i].size(); j++)
		{
			int count1 = i - 1 >= 0 ? A[i - 1][j] : 0;
			int count2 = j - 1 >= 0 ? A[i][j - 1] : 0;
			A[i][j] += max(count1, count2);//应该从数字最大的那个格子到达A[i][j]
		}
	}
	return A.back().back();
}


你可能感兴趣的:(程序员面试题)