DP
Max Product Of Cutting Rope
外循环为绳子长度,内循环为切绳子的位置,左边查表, 右边不动
for (int i = 3; i < m.length; i++){
for (int j = 0; j < i; j++) {
m[i] = Math.max(m[i], (i - j) * Math.max(m[j], j));
}
}
Array Hopper I
从后往前, m[i] means from index i can just to index array.length - 1
两种情况 1. array[i] + i >= array.length - 1
2. 在i可跳范围内,m[i + j] 为true的话,m[i]也为true
for (int i = array.length - 2; i >= 0; i--) {
if (i + array[i] >= array.length - 1) {
canJump[i] = true;
} else {
for (int j = array[i]; j >= 1; j--) {
if (canJump[j + i]) {
canJump[i] = true;
break;
}
}
}
}