package OJ;
import java.util.*;
import java.util.regex.Matcher;
public class Bully {
/*
* 动态规划——基础
* 1.最大连续子序列之和
* 2.数塔问题
* */
public static void main(String[] args) {
// fun1();
// fun2();
}
//2.数塔问题
private static void fun2() {
int[][] data = {{9,0,0,0,0},{12,15,0,0,0},{10,6,8,0,0},{2,18,9,5,0},{19,7,10,4,16}};
int n = data.length;
for(int i=n-2;i>=0;i--){
for(int j=0;j<=i;j++){
data[i][j] += (data[i+1][j]>data[i+1][j+1]?data[i+1][j]:data[i+1][j+1]);
}
}
sop(data[0][0]);
}
//1.最大连续子序列之和
private static void fun1() {
int[] data = {-2,11,-4,13,-2,5};
int sum = 0;
int max = 0;
for(int i=0;i<data.length;i++){
sum = sum+data[i];
if(sum>max)
max = sum;
if(sum<0)
sum = 0;
}
sop(max);
}
public static void sop(Object o){
System.out.println(o);
}
}
import java.util.*;
import java.util.regex.Matcher;
public class Bully {
/*
* 动态规划——基础
* 1.最大连续子序列之和
* 2.数塔问题
* */
public static void main(String[] args) {
// fun1();
// fun2();
}
//2.数塔问题
private static void fun2() {
int[][] data = {{9,0,0,0,0},{12,15,0,0,0},{10,6,8,0,0},{2,18,9,5,0},{19,7,10,4,16}};
int n = data.length;
for(int i=n-2;i>=0;i--){
for(int j=0;j<=i;j++){
data[i][j] += (data[i+1][j]>data[i+1][j+1]?data[i+1][j]:data[i+1][j+1]);
}
}
sop(data[0][0]);
}
//1.最大连续子序列之和
private static void fun1() {
int[] data = {-2,11,-4,13,-2,5};
int sum = 0;
int max = 0;
for(int i=0;i<data.length;i++){
sum = sum+data[i];
if(sum>max)
max = sum;
if(sum<0)
sum = 0;
}
sop(max);
}
public static void sop(Object o){
System.out.println(o);
}
}