`

求最大子序列和问题的最优算法

阅读更多
//求最大子序列和问题, 
 
public class MaxSubSum{ 
     
    public static int maxSubSum(int[] a){ 
         
        int maxSum = 0, thisSum = 0; 
         
        for(int j = 0; j < a.length; j++){ 
            thisSum += a[j]; 
             
            if(thisSum > maxSum) 
                maxSum = thisSum; 
            else if(thisSum < 0) 
                thisSum = 0; 
        } 
        return maxSum; 
    } 
     
    public static void main(String[] args){ 
 
        int[] b = {-2,11,-4,13,-5,-2}; 
         
        int max = maxSubSum(b); 
         
        System.out.println(max); 
         
         
    } 
分享到:
评论

相关推荐

    求出最长上升子序列中各个元素

    在算法领域,最长上升子序列(Longest Increasing Subsequence,LIS)问题是一个经典的问题,它在计算机科学中有着广泛的应用,例如在数据结构、排序算法以及动态规划等方面。本篇将详细介绍如何找出一个序列中长度...

    算法实验——包括了排序、最长公共子序列等一系列算法

    这是一个有关算法的压缩包,里面包含二分算法、合并排序、最长公共子序列、最优装载、活动安排算法

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

    该算法的目标是从给定的一组整数中找出连续子序列,使得这个子序列的和最大。 首先,我们来分析算法思路。根据描述,我们可以总结以下几点关键点: 1. 序列必须是整数序列。 2. 如果序列不全是负数,最大子序列的...

    算法作业——多处最优服务次序问题

    如果原问题的最优解是A,那么A的子序列A'也是子问题的最优解。如果A'不是子问题的最优解,就会存在一个更好的解决方案,这与A是最优解的事实相矛盾,因此A'必然是子问题的最优解。 **算法实现**包括以下几个步骤: ...

    最长公共子序列问题

    最长公共子序列问题是一个经典的计算机科学问题,主要应用于序列比对、生物信息学等领域。它的目标是找到两个字符串之间的最长序列,这个序列是两个原始字符串的子序列,并且在两个字符串中都存在,但不一定连续。 ...

    算法设计实验快速排序01背包问题活动安排最长公共子序列

    在实际应用中,快速排序广泛用于数据处理和数据库系统,0-1背包问题常见于资源分配和任务调度,贪心算法在日常的优化问题中大有作为,而最长公共子序列则在文本处理、生物信息学等领域有重要应用。掌握这些算法,...

    利用动态规划算法解决最长公共子序列问题.doc

    "利用动态规划算法解决最长公共子序列问题" ...本文详细介绍了动态规划算法的思想、基本步骤和基本要素,并且应用动态规划算法解决了最长公共子序列问题,展示了动态规划算法在解决复杂问题中的重要作用。

    算法导论上机报告 算法

    这个问题旨在找到一个数组中的连续子序列,使得其和最大。通过遍历数组,我们可以跟踪到目前为止遇到的最大和以及当前连续子序列的和,从而找到全局的最大子序列和。这个算法在解决实际问题如股票投资策略、赌博游戏...

    动态规划经典问题算法:合唱队行,最大k乘积,0-1背包问题,最长上升子序列,田忌赛马,花瓶插花

    下面,我们将讨论动态规划经典问题算法,包括合唱队行、最大 k 乘积、0-1 背包问题、最长上升子序列、田忌赛马、花瓶插花等。 一、合唱队行 合唱队行是动态规划经典问题之一。该问题可以描述为:有 n 个人站在一排...

    最大子段和问题的三种算法

    最大子段和问题是一个经典的计算机科学问题,主要目标是找到一个整数数组中连续子序列的最大和。这个问题在算法设计和分析中具有重要的地位,因为它可以作为其他更复杂问题的基础。接下来,我们将深入探讨如何使用蛮...

    算法 矩阵连乘、最长公共子序列

    通过理解并熟练掌握矩阵连乘和最长公共子序列这两个算法,不仅可以提高编程能力,还能在面对相关问题时迅速找到解决方案。在实际的编程实验中,比如“实验2”,可以设计程序实现这两个算法,通过具体的案例来加深...

    基于遗传算法的机器人关节空间最优运动规划

    该问题涉及到两个核心子问题:最优路径规划与最优轨迹规划。为了实现这一目标,作者提出了一种基于遗传算法的新方法,该方法能够综合考虑机器人的运动学约束、动力学约束和控制约束。此外,通过使用合适的多项式来...

    求最长非递增子序列长度

    最长非递增子序列(Longest Non-Increasing Subsequence,简称LNIS)问题是一个经典的计算机科学问题,尤其在算法设计和分析领域具有重要意义。这个问题的目的是在给定的一个无序整数序列中找到一个子序列,这个子...

    动态规划,分治算法,概率算法,模拟退火算法,搜索算法,贪婪算法,网上matlab,遗传算法,组合算法

    经典的动态规划问题有斐波那契数列、背包问题和最长公共子序列等。 2. **分治算法**:分治策略是将一个大问题分解为两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的...

    最大子段和问题的简单算法.zip

    常见的动态规划问题包括背包问题、最长递增子序列、编辑距离等。 贪心算法:贪心算法是一种在每一步选择中都采取当前状态下最优决策的算法。常见的贪心算法包括最小生成树算法中的Prim算法、Dijkstra算法等。 字符...

    论文研究-基于最优小波和序列二次规划的信号压缩算法.pdf

    为了寻找待压缩信号的最优小波,提出了一种适用于一维和二维信号的寻找其最优正交小波的算法。首先根据小波变换的多分辨分析原理,把待压缩信号投影在其小波变换子空间v-1和w-1上;然后令其在w-1上的投影达到最小并...

    求取最长递增子序列(MFC编程)

    以上就是关于"求取最长递增子序列(MFC编程)"的知识点详解,包括贪心算法和动态规划的基本思想,以及如何在MFC环境下实现这一算法。通过学习和实践这些内容,你不仅可以掌握一种重要的算法,还能了解到如何在实际...

Global site tag (gtag.js) - Google Analytics