HDU 1003 最大连续子序列
Posted tan90丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1003 最大连续子序列相关的知识,希望对你有一定的参考价值。
看数据结构与算法分析Java语言描述的时间复杂度分析时,看到经典的最大子序列和问题,想起来这到以前用C++写过,现在学了Java试一下能不能AC。
PS:不知为什么我前面用System.out.printf()函数一直输出格式错误,交了好几遍都不行,后来改成System.out.println()又可以了...
1 import java.util.Scanner; 2 3 public class Main { 4 5 public static void main(String[] args) { 6 int kase = 0; 7 int[] arr = new int[100005]; 8 9 int t ; 10 Scanner in = new Scanner(System.in); 11 t = in.nextInt(); 12 while(t-- != 0){ 13 int n = in.nextInt(); 14 for(int i = 0; i < n; ++i){ 15 arr[i] = in.nextInt(); 16 } 17 int sum = arr[0]; 18 int res = sum; 19 int fst = 0, lst = 0; 20 int nfst = 0; 21 for(int i = 1; i < n; ++i){ 22 if(sum < 0){ 23 nfst = i; 24 sum = arr[i]; 25 }else{ 26 sum += arr[i]; 27 } 28 29 if(sum > res){ 30 fst = nfst; 31 lst = i; 32 res = sum; 33 } 34 } 35 if(kase != 0){ 36 System.out.println(); 37 } 38 System.out.println("Case "+(++kase)+":"); 39 System.out.println(res+" "+(fst+1)+" "+(lst+1)); 40 } 41 in.close(); 42 } 43 }
以上是关于HDU 1003 最大连续子序列的主要内容,如果未能解决你的问题,请参考以下文章