数据结构与算法(作业四)
最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 运算代码如下: class Solution { public : int maxSubArray ( vector < int > & nums ) { if ( nums . size ( ) == 0 ) return NULL ; int max = nums [ 0 ] ; int sum = 0 ; for ( int i = 0 ; i < nums . size ( ) ; i ++ ) { sum = 0 ; for ( int j = i ; j < nums . size ( ) ; j ++ ) { sum + = nums [ j ] ; if ( sum > max ) max = sum ; } } return max ; } } ; 此代码首先判断了数组是否是空的,这个要不要随你了。然后定义max是用来存储最大值的,sum是用来求和的。首先循环数组长度次数的i,在i里面再次循环数组长度次数的j,目的是用来找出最大的和,所以做一下简单的判断,一直不断的找出最大的和,最终返回即可。 像这样的暴力做法,运算的确很费时间。 来源: CSDN 作者: 想扣篮的Phineas 链接: https://blog.csdn.net/BryceFei