赞
踩
题目描述:
给你一个整数数组 nums
,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
代码实现:
- class Solution {
- public int maxSubArray(int[] nums) {
- int sum=0;
- int max=nums[0];
- for(int i=0;i<nums.length;i++){
- if(sum<=0){//如果加上一个索引为i的数后sum为负数,那么所求的子数组必在此数之后。
- sum=nums[i];
- }else{//如果sum大于0,则继续加,探求是否有更大的和
- sum=sum+nums[i];
- }
- max=Math.max(max,sum);//利用Math类中的Math.max(a,b)求两个数的较大值,max为前n次循环比较得到的最大和,sum为本次循环得到的和
- }
- return max;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。