商业街挑选商品价值最高 java

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;


public class Ztry2 {
     static int jia[];
     static List<Integer>  list=new ArrayList<>();
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        int count=sc.nextInt();
         jia=new int[count];
        
        for(int i=0;i<count;i++){
            jia[i]=sc.nextInt();
            
        }
        if(count==1)   System.out.print(jia[0]);
        solve(0,count,jia[0],true);
        for(int i=1;i<count;i++){
            solve(i,count,jia[i],false);
        }
        Collections.sort(list);
        //System.out.print(list);
        System.out.print(list.get(list.size()-1));
        
    }
     public static void solve(int n,int counter,int price,boolean flag){
        
         for(int i=n+2;i<counter;i++){
                if(jia[i]>jia[n]){
                    int myprice=price+jia[i];
                    
                    solve(i,counter,myprice,flag);
                    
                }
                    
            }
         if(flag==true&&n==counter-1){
             list.add(price-jia[counter-1]);
         }
         else  list.add(price);
     }

}
 

相关文章: