
leetcode
leetcode题解
dzzxjl
大数据 & 推荐算法 工程师
展开
-
数字三角形
递归动归程序解题思路第一次计算MaxSum(r,j)值的时候,保存下来,下次需要的时候,直接取出计算,这样就避免了重复计算。时间复杂度为O(n2)O(n2),因为三角形的数字总和为n(n+1)/2n(n+1)/2。#include <iostream>#include <algorithm>#include "string.h"#define Max 101using namespace std;int D[Max][Max];int Max_Sum_arr[原创 2021-12-29 22:43:31 · 267 阅读 · 0 评论 -
动态规划 DynamicProgramming
dp一般思路能用动规解决的问题的特点问题具有最优子结构性质。如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质。无后效性。当前的若干个状态值一旦确定,则此后过程的演变就只和这若干个状态的值有关,和之前是采取哪种手段或经过哪条路径演变到当前的这若干个状态,没有关系。将原问题分解为子问题把原问题分解为若干个子问题,子问题和原问题形式相同或类似,只不过规模变小了。子问题都解决,原问题即解决(数字三角形例)子问题的解一旦求出就会被保存,所以每个子问题只需求解一次。确原创 2021-12-29 22:43:13 · 118 阅读 · 0 评论