最大子串和的问题,java实现
2017-03-15 15:00
295 查看
public class MyTest {
public static void main(String[] args) {
int[] a = {-1,2,3,50,-16,1,20,-12};
int maxSum = 0;
int first = 0;
int last = 0;
for(int i=0; i<a.length; i++){
for(int j = i; j< a.length; j++){
int thisSum = 0;
for(int k = i; k <= j ; k++){
thisSum += a[k];
}
if(thisSum > maxSum){
maxSum = thisSum;
last = j;
first = i;
}
}
}
System.out.println("起始位置:"+first);
System.out.println("终止位置:"+last);
System.out.println(maxSum);
}
}
输出结果:
起始位置:1
终止位置:6
60
时间复杂度:O(N^3)
public static void main(String[] args) {
int[] a = {-1,2,3,50,-16,1,20,-12};
int maxSum = 0;
int first = 0;
int last = 0;
for(int i=0; i<a.length; i++){
for(int j = i; j< a.length; j++){
int thisSum = 0;
for(int k = i; k <= j ; k++){
thisSum += a[k];
}
if(thisSum > maxSum){
maxSum = thisSum;
last = j;
first = i;
}
}
}
System.out.println("起始位置:"+first);
System.out.println("终止位置:"+last);
System.out.println(maxSum);
}
}
输出结果:
起始位置:1
终止位置:6
60
时间复杂度:O(N^3)
相关文章推荐
- 用动态规划算法对最大子串问题的java实现
- java实现字符串匹配问题之求两个字符串的最大公共子串
- java实现字符串匹配问题之求两个字符串的最大公共子串
- 读《程序员编程艺术》之自造Java版本----最大堆排序实现最小K问题
- 三种算法求最大子段和问题——Java实现
- 算法java实现--分支限界法--最大团问题
- 最大子数组问题分治法(递归)Java实现
- 一维数组及子数组最大和问题Java实现
- Manacher算法(最大回文子串),JAVA实现
- 数字问题之最大公约数问题全解法归纳<Java实现>
- 求两字符串的最大相同子串--JAVA实现
- 字符串最大回文子串的查找java实现
- 数组问题之一维最大字段和问题<Java实现>
- java实现字符串匹配求两个字符串的最大公共子串
- 动态规划:java实现最大字段和问题
- “最长上升子序列,最大连续子序列和,最长公共子串”的Java实现
- java实现最大子序列问题——————性能最优的算法
- java 实现后缀数组及最长回文子串问题
- [leetcode]分治法求解最大子序列问题——Java实现
- 经典问题LCS(最大公共子串问题)C代码实现