아이디어 :
N 개인 비용의 메모리 어레이는 메모리의 다른 세트는 순서에 관계없이 변화를 찾고
코드 :
수입 인 java.util.ArrayList; 수입 java.util.Scanner; 공용 클래스 주요 { 공공 정적 무효 메인 (문자열 []에 args) { ArrayList에 <정수> = 목록 새로운 ArrayList를 <> (); 스캐너 SC는 = 새로운 스캐너 (System.in)를; INT N = sc.nextInt (); INT [] = 도착 새로운 INT [N]; 위한 ( INT I = 0; I N <; I ++ ) { 도착은 [I] = sc.nextInt (); } 에서 System.out.println (테스트 (편곡, 목록)); } 공용 정적 스트링 시험 ( INT [] 도착, ArrayList에 <정수> 리스트) { INT keyi = 0 ; 위한 ( INT ; I <arr.length; 나는 0 = I ++ ) { 경우 (도착 [I] == 25 ) { 에는 list.add (도착 [I]); keyi ++ ; } 다른 경우 (도착 [I] == 50 ) { 대 ( INT J = 0; J <는 list.size (); J ++ ) { 만약(list.get (j) == 25 ) { list.remove (j); 에는 list.add ( 50 ); keyi ++ ; 휴식 ; } } } 다른 경우 (도착 [I] == 100 ) { INT twenteFive = 0 ; int로 오십 = 0 ; 대 ( INT , J <는 list.size (); J = 0 J ++ ) { 경우 (list.get (j) == 25 ) { twenteFive++ ; } 다른 경우 (list.get (j) == 50 ) { 오십 ++ ; } } 경우 (twenteFive> = 3 || 오십> = 1 && twenteFive> = 1 ) { 경우 (오십> = 1 && twenteFive> = 1 ) { 대 ( INT J = 0; J <는 list.size (); J ++ ) { 경우 ( list.get (j) == 25 ) { list.remove (j); 휴식 ; } } 에 대한 ( INT J = 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" ; } } }