`
阅读更多
/**
* 算法一
*/
public int maxSubSum(int []a){
int maxSum = 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;
}
}
}
return maxSum;
}
/**
* 算法二
*/
public int maxSubSumSecond(int []a){
int maxSum = 0;
for(int i=0;i<a.length;i++){
int thisSum = 0;
for(int j=i;j<a.length;j++){
thisSum += a[j];
if(thisSum > maxSum){
maxSum = thisSum;
}
}

}
return maxSum;
}
/**
* 算法三
*/
public int maxSubSumThird(int []a){
int maxSum = 0;
int thisSum = 0;
for(int i=0;i<a.length;i++){
thisSum += a[i];
if(thisSum>maxSum){
maxSum = thisSum;
}
else if(thisSum<0) {
thisSum = 0;
}
}
return maxSum;
}

http://wgyblog.com
分享到:
评论

相关推荐

    PHP求最大子序列和的算法实现

    通过上述分析,我们可以看出PHP如何利用动态规划解决最大子序列和的问题。这种方法在处理大规模数据时非常高效,因为它避免了重复计算,并且只用了一次遍历来找到最优解。此外,该算法还可以应用于其他编程语言,如...

    南华大学算法分析与设计实验

    如果可能同时在两部分,需要分别计算左右两部分的最大子序列和。 3. **合并**:比较所有子问题的解,选择其中的最大值。对于最大连续子序列和的问题,这意味着在每次递归过程中更新最大字段和及其开始和结束位置。 ...

    连续子序列最大和与乘积问题的分析

    在IT领域,特别是算法设计和分析中,"连续子序列最大和与乘积问题"是一个经典的话题。这类问题经常出现在数据结构和算法的面试中,也是优化和解决复杂计算问题的关键。本文将深入探讨这个问题,并结合提供的Java源码...

    java算法大全源码包

    - 最大子序列和问题:Kadane's algorithm。 6. **贪心算法**: - 银行家算法:用于避免系统死锁。 - Kruskal's和Prim's算法:用于求最小生成树。 7. **递归与回溯**: - 数独解决方案:深度优先搜索的典型应用...

    java算法大全

    - 在数组或字符串中查找指定长度的子序列最大/最小值,例如寻找最大子数组和。 以上这些知识点仅仅是Java算法大全中的一部分,实际的压缩包可能还包含了更多高级算法,如机器学习中的支持向量机、决策树等。对于...

    最大子段和问题 蛮力法 分治法 动态规划法

    - 分析和比较各种方法在不同输入条件下的性能。 - 尝试解决变种问题,如寻找次大子段和,或者在有负数的情况下寻找最大绝对值子段和。 通过深入理解和实践这些算法,不仅可以提升编程能力,还能为解决更复杂的算法...

    java算法与数据结构

    ### Java算法与数据结构知识点详解 #### 第一章:Java与面向对象程序设计 ##### 1.1 Java语言基础知识 **1.1.1 基本数据类型及运算** - **基本数据类型**:Java提供了八种基本数据类型,包括四种整型(byte、...

    Algorithm2018s-OJ:NJU算法设计与分析2018Spring在线评审。 (Java)

    最大子序列和问题题目描述给定一整数序列 a1, a2, …, an,求 a1~an 的一个子序列 ai~aj,使得从 ai 到 aj 的和最大。只需要求出最大子序列的和,而不需要求出最大的那个序列。输入一组整数,数字和数字之间以空格...

    程序设计预算法

    #### 最大子序列和问题 该问题是典型的算法设计问题,旨在找到给定数组中的连续子序列,使得子序列的元素之和最大。 - **示例说明**: - 数组 `{1, -3, 4, 5}` 的最大子数列为 `{4, 5}`,因为 4 + 5 的和最大。 -...

    最大字段和问题

    最大字段和问题,也常被称为“最大子序列和”或“连续子数组最大和”,是计算机科学中的一个经典算法问题,特别是在数据结构和算法的学习中占有重要地位。它要求从一个给定的整数数组中找出一个连续子数组,使得其...

    al.rar_al算法程序

    1. 最大子序列和问题:这是动态规划的一个经典问题,可以使用Kadane's algorithm解决,通过动态规划计算每个位置的最大子序列和,从而找出整个序列的最大子序列和。 2. 背包问题:在给定容量的背包中,如何选择物品...

    求数组的子数组之和的最大值,转载自:黑梦楠的日志

    标题中的“求数组的子数组之和的最大值”是一个经典的计算机科学问题,通常被称为“最大子序列和”(Maximum Subarray Problem)。这个问题在数组或序列数据结构中寻找一段连续的子序列,使得子序列的所有元素之和...

    旅行商问题&java题解.pdf

    根据提供的文件信息,本文将重点解析...通过对这两种问题的理解和解决,我们可以更好地掌握算法设计和分析的基础知识。在实际应用中,选择合适的算法不仅能够提高程序的运行效率,还能在有限的时间内得到更优的结果。

    Leetcode Solutions

    必须学会如何分析和优化算法的时间复杂度和空间复杂度。 - **测试用例设计**:为了确保代码的正确性,编写全面的测试用例是必要的。 - **边界条件处理**:在编程中,处理边界条件是十分重要的,确保代码能够应对...

    acm动态规划总结

    动态规划是一种算法思想,主要用来解决具有重叠子问题和最优子结构特性的问题。在ACM竞赛中,动态规划题目是竞赛的核心部分之一,掌握动态规划是解决算法难题的重要技能。在学习动态规划时,常见的题型包括路径计数...

    青岛大学计算机自测题

    例如,解决最短路径、最小生成树、最大子序列和等问题。 操作系统方面,自测题可能涵盖进程与线程的概念、内存管理、磁盘调度、文件系统以及死锁的预防和避免。考生需要理解操作系统的资源分配原理和并发控制机制。...

    百度2015校招笔试题

    常见的算法题可能包括字符串匹配、最短路径、最大子序列和、二分查找等。对算法的熟练掌握和灵活应用,是互联网公司尤其是技术驱动型公司非常看重的技能。 3. **系统设计题**:这部分可能会涉及到大型分布式系统的...

    2008 ACM 内蒙古试题

    这些基本算法在解决实际问题时经常被用到,比如寻找最短路径、最大子序列和等问题。 2. **数据结构**:链表、数组、栈、队列、树(二叉树、平衡树如AVL树和红黑树)、图等数据结构在ACM竞赛中扮演着关键角色。例如...

    04-10年上半年程序员考试(初级)

    常见的算法题型有求解最短路径、最大子序列和、查找树的深度等。对于每种算法,理解其原理、实现步骤和时间复杂度至关重要。 五、软件工程 软件工程部分包括需求分析、设计模式、版本控制、软件测试等方面。考生需...

    第七届蓝桥杯大赛个人赛(软件类)决赛真题

    例如,可能会有涉及字符串匹配、最短路径、最大子序列和等问题的题目,要求选手在有限时间内设计出高效算法。 3. 操作系统:了解操作系统的基本原理对于解答某些题目至关重要。这可能涉及到进程管理(如进程同步与...

Global site tag (gtag.js) - Google Analytics