ありnは個人が食堂とりとめチキンライスを買うためにキューイングされています。25元のための各まとまりチキンライス。奇妙なことが一つだけ法案(各ノート25、50ドルの額面)、および食堂の叔母の皆の手がそのまま始まった、です。食堂の叔母は、誰もが変更を与えることができるだろう(と仮定し食堂のおばスマート十分)

アイデア:

N個の個別のコストのメモリアレイは、メモリの別のセットは、順序に関係なく、変更を探し

コード:

輸入はjava.util.ArrayList;
インポートjava.util.Scanner; 

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){ 
        のArrayList <整数>リスト= 新規のArrayList <> (); 
        スキャナSC = 新しいスキャナ(System.in)。
        INT、N = sc.nextInt()。
        INT [] ARR = 新しい INT [N]。
        以下のためにINT iが= 0、I <N; I ++ ){ 
            ARR [I] = sc.nextInt()。
        }
        System.out.println(テスト(ARR、リスト))。
    } 

    パブリック 静的文字列試験(INT [] ARR、のArrayList <整数> リスト){
         int型 KEYI = 0 以下のためにINT ; I <arr.length; iが0 = I ++ ){
             場合(ARR [I] == 25 ){ 
                list.add(ARR [I])。
                KEYI ++ ; 
            
            } そう であれば(ARR [I] == 50 ){
                 ためINT J = 0; J <はlist.size(); J ++ ){
                     もし(list.get(J)== 25 ){ 
                        list.remove(J)。
                        list.add( 50 )。
                        KEYI ++ ;
                        休憩; 
                    } 

                } 
            } 
            そう であれば(ARR [I] == 100 ){
                 int型 twenteFive = 0 INT = 0 50 ;
                int型 J = 0; jは<はlist.size(); J ++ ){
                     場合(list.get(J)== 25 ){
                        twenteFive++ ; 
                    } そう であれば(list.get(J)== 50 ){ 
                        50 ++ 
                    } 
                } 

                もし(twenteFive> = 3 || 50> = 1 && twenteFive> = 1 ){
                     場合(50> = 1 && twenteFive> = 1 ){
                         ためINT J = 0; J <はlist.size(); J ++ ){
                             場合( list.get(J)== 25 ){ 
                                list.remove(J)。
                                休憩; 
                            }
                        } 
                        
                        のためのINTJ = 0; J <はlist.size(); J ++ ){
                             場合(list.get(J)== 50 ){ 
                                list.remove(J)。
                                休憩; 
                            } 
                        } 
                        KEYI ++ 
                        
                    } 
                    そう であれば(twenteFive> = 3 ){ 
                    
                        ためINT J = 0; J <3; J ++ ){
                             ためINT J2 = 0; J2 <はlist.size(); J2 ++ ){
                                 場合(list.get(J2) == 25 ){ 
                                    list.remove(J2); 
                                    ブレーク; 
                                } 
                            } 
                        } 
                        KEYI ++ ; 
                        
                    
                    } 
                } 
            } 
        } 


        もし(KEYI == arr.length){
             リターン "YES" ; 
        } {
             リターン " NO」; 
        } 


    } 
}

 

おすすめ

転載: www.cnblogs.com/BLACKJT/p/12417016.html