c 언어로 욕심 알고리즘의 포장 문제 실현
import java.util.Arrays;
import java.util.Comparator;
// ,
public class Enchase {
public void test1() {
Integer[] boxs={34,6,40,2,23,12,12};
int boxCaptation=40;//
//
Arrays.sort(boxs, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
int unEnchase=boxs.length;//
int minIndex=boxs.length-1;//
while (unEnchase>0) {
for(int i=0;i<boxs.length;i++){
//
if(boxs[i]==0){
continue;
}
unEnchase--;
while((boxCaptation-boxs[i])>=boxs[minIndex]){
int k=i+1;
for(;k>i;k++){
//
if(boxs[k]==0){
continue;
}
// ,
boxs[i]+=boxs[k];
int temp=boxs[k];
boxs[k]=0;
unEnchase--;
if(boxs[i]>boxCaptation){
// ,
unEnchase++;
boxs[k]=temp;
boxs[i]-=boxs[k];
continue;
}
//
if(k==minIndex){
for(int y=minIndex;y>0;y--){
if(boxs[y]!=0){
minIndex=y;
}
}
}
break;
}
}
}
}
//
int Boxcount=0;
System.out.println(" :");
for(int i=0;i<boxs.length;i++){
System.out.print(boxs[i]+"\t");
if(boxs[i]==0){
continue;
}
Boxcount++;
}
System.out.println("
:"+Boxcount);
}
public static void main(String[] args) {
new Enchase().test1();
}
}
이상은 본문의 전부입니다. 여러분들이 좋아해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.