江苏州 网站制作,百度联系方式,公司注册地址和办公地址,有没有什么做高数的网站2019独角兽企业重金招聘Python工程师标准 #题目概述 题目的意思是给你一个数列#xff0c;找到一个子数列#xff0c;这个子数列的和是所有子数列中和最大的。 当然把数列的所有数都列出来肯定不现实。 黑黑#xff0c;不知道正不正确#xff0c;我是先从第一… 2019独角兽企业重金招聘Python工程师标准 #题目概述 题目的意思是给你一个数列找到一个子数列这个子数列的和是所有子数列中和最大的。 当然把数列的所有数都列出来肯定不现实。 黑黑不知道正不正确我是先从第一个数开始依次加到最后一个数并且把每一次加的和存到对应的一个和数组中。这样得到了一个不间断的和的数列但是这样显然还是不行在加的时候你还得判断一下当和小于零的时候就得把起始位置向后挪一个了。这样才能保证每次求得的子序列的和是所有子序列当中和最小的。 #附上代码 import java.math.BigDecimal;
import java.util.Scanner;
import java.util.Stack;public class Main{public static void main(String []args){Scanner cinnew Scanner(System.in);int tcin.nextInt();int [] numnew int[100000];int [] sumnew int[100000];for (int i1; it; i){ int ncin.nextInt(); for (int j0; jn; j){num[j]cin.nextInt();}int su0;int start0;int end0;for (int j0; jn; j){sum[j]0;}for (int j0; jn; j){sunum[j];sum[j]su;if (su0) su0;}for (int j1; jn; j){if (sum[end]sum[j]) endj;}startend;while (start0sum[start-1]0){start--;}start;end;System.out.println(Case i:);System.out.println(sum[end-1] start end);if (it) System.out.println();}}
}Migrated to https://sheltonsuen.github.io 转载于:https://my.oschina.net/brainysoon/blog/752080