最优装载问题。给出n个物体,第i个物体重量为w[i]。选择尽量多的物体,使得总重量不超过C。
【分析】
由于只关心物体的数量,所有装重的没有装轻的划算。只需把所有物体按重量从小到大排序,一次选择每个物体,直到装不下为止。这是一种典型的贪心算法,只顾眼前,但能得到最优解。
---------------------
作者:za30312
来源:CSDN
原文:https://blog.csdn.net/za30312/article/details/78253318
版权声明:本文为博主原创文章,转载请附上博文链接!
import java.util.*; public class Zuoyouzhuangzai { public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()){ int n=in.nextInt(); List list=new ArrayList<Integer>(); for(int i=0;i<n;i++){ list.add(in.nextInt()); } //从小到大排序 Collections.sort(list); int c=in.nextInt(); int k=0; //贪心装载 for(int j=0;j<n;j++){ if(c>=(int)list.get(j)){ c-=(int)list.get(j); k++; }else{ break; } } System.out.println(k); } } }