练习数值计算。找出一个整数数组中子数组之和的最大值。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了练习数值计算。找出一个整数数组中子数组之和的最大值。相关的知识,希望对你有一定的参考价值。
方法类:
package com.lwk.test2;
import java.util.Scanner;
public class Sum {
Scanner input = new Scanner(System.in);
public int sumParams(int nums[]) {
int maxSum = 0;
for (int i = 0; i < nums.length; i++) {
int sum = 0;
for (int j = i; j < nums.length; j++) {
sum = sum + nums[j];
if (sum > maxSum) {
maxSum = sum;
}
}
}
System.out.println("子数组之和的最大值为:"+maxSum);
return maxSum;
}
}
测试类:
package com.lwk.test2;
import static org.junit.Assert.*;
import org.junit.Test;
public class SumTest {
@Test
public void test() {
/* int nums[] = {1,-2,3,5,-1}; */// 测试用例1 最大值8
/* int nums[] = {1,-2,3,-8,5,1}; */// 测试用例1 最大值6
int nums[] = { 1, -2, 3, -2, 5, 1 }; // 测试用例1 最大值7
Sum sum = new Sum();
sum.sumParams(nums);
}
}
测试用例有三个,可以根据自己需要添加不同的测试用例
以上是关于练习数值计算。找出一个整数数组中子数组之和的最大值。的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode练习(Python):数组类:第152题:给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。