Java:(代码)动态规划:求一串序列数中子序列和最大的数

2021-07-05 05:07

阅读:689

标签:rgs   sum   static   return   system   stat   int   子序列和最大   class   

 1 package DP;
 2 //求子序列和最大值
 3 public class MinNum {
 4     public static void main(String[] args){
 5         int[] num = {-6, 2, 4, -7, 5, 3, 2, -1, 6, -9, 10, -2};
 6         int max = maxSum(num);
 7         System.out.println(max);
 8         int min = minSum(num);
 9         System.out.print(min);
10     }
11     public static int maxSum(int[] num){
12         int[] maxdp = new int[num.length];
13         int max = -9999;
14         maxdp[0] = num[0];
15         for(int i=1;i){
16             maxdp[i] = maxdp[i-1]>0?maxdp[i-1]+num[i]:num[i];
17             if(maxdp[i] > max){
18                 max = maxdp[i];
19             }
20         }
21         for(int i=0;i){
22             System.out.print(maxdp[i]+" ");
23         }
24         System.out.print("\n");
25         return max;
26     }
27     public static int minSum(int[] num){
28         int[] mindp = new int[num.length];
29         int min = 9999;
30         mindp[0] = num[0];
31         for(int i=1;i){
32             mindp[i] = mindp[i-1]num[i]:num[i];
33             if(mindp[i]  min){
34                 min = mindp[i];
35             }
36         }
37         for(int i=0;i){
38             System.out.print(mindp[i]+" ");
39         }
40         System.out.print("\n");
41         return min;
42     }
43 }

 

Java:(代码)动态规划:求一串序列数中子序列和最大的数

标签:rgs   sum   static   return   system   stat   int   子序列和最大   class   

原文地址:https://www.cnblogs.com/fanghuiplus/p/9600084.html


评论


亲,登录后才可以留言!