这里实现算法(Java)
1 static int UpDown(int num, int[] arr) { 2 if(num == 0) return 0; 3 if(result[num] != 0) return result[num]; 4 5 int temp = 0; 6 for (int i = 1; i < num+1; i++) { 7 int max = arr[i] + UpDown(num-i, arr); 8 if(max > temp) { 9 temp = max; 10 } 11 } 12 result[num] = temp; //将计算的长度为n的钢条切割的长度用数组保存起来 13 return temp; 14 }