- 博客(13)
- 收藏
- 关注
原创 完全背包
根据上述的状态转移方程与01背包问题进行比较,则可以发现存在相似之处,且完全背包的状态转移方程也在两层之间进行比较,故也可利用滚动数组进行空间上的简化,先看暴力求解,与01背包问题的区别就在于每个物品可以拿无限次,因此只需在此基础上加入一个次数的循环与判断即可,上述算法时间复杂度太高为O(n^3),浪费时间,进行时间上的优化。
2023-10-18 20:43:31 64
原创 01背包
可以发现上述交换中只存在两层数组的运算,其他空间都浪费了,故可以使用一维滚动数组来进行优化空间。只有当为体积临界值时每层才会发生改动,除此以此从上往下继承,故必须从后往前访问。则可以遇见二维数组的输出为。
2023-10-17 21:20:04 65
原创 跳跃
之所以定义temp放在双层循环下而不放在最外部是为了防止上次的temp值影响此次判断,对此次寻找进行更新。三层循环内部if判断表示当前步数是否为合法步,而内部代码则可以达到找到所有合法步中可使利益最大的步骤,双层循环之下的if是为了防止第一次更新没有合法步骤,防止添加INT_MIN扰乱数据。定义两个数组row和col表示所有可能的下一步走法,
2023-10-12 20:50:16 56
原创 递增序列
对于斜线来说,当为左上到右下时,由于从左向右看和从上向下看是同一种情况,所以判定为下面的字符小于上面的字符。而当是左下到右上时,从左向右看和从上向下看是两种情况,所以判定为下面的字符不等于上面的字符。
2023-10-11 20:11:39 68 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人