最优装载问题

Posted nuist__NJUPT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最优装载问题相关的知识,希望对你有一定的参考价值。

最优装载问题

n个物体,每个物体重量为wi,选择尽可能多的物体,使得总重量不超过c。

输入:
3
1 2 3
3

输出:
2

import java.util.Arrays;
import java.util.Scanner;

/**
 * n个物体,每个物体重量为wi,选择尽可能多的物体,使得总重量不超过c
 */
public class OptimalLoading {
    public static int f(int [] w, int c, int n){
        int count = 0 ;
        int weight = 0 ;
        for(int i=0; i<n; i++){
            if(weight+w[i] <= c){
                weight += w[i] ;
                count ++ ;
            }else{
                break ;
            }
        }
        return count ;
    }
    public static void main(String[] args){
        Scanner input = new Scanner(System.in) ;
        int n = input.nextInt() ;
        int [] w = new int [n] ;
        for(int i=0; i<n; i++){
            w[i] = input.nextInt() ;
        }
        int c = input.nextInt() ;
        Arrays.sort(w) ;
        System.out.println(f(w,c,n)) ;
    }
}

以上是关于最优装载问题的主要内容,如果未能解决你的问题,请参考以下文章

装载问题的贪心选择性质如何证明?

最优装载

最优装载问题_贪心

最优装载(贪心)

最优装载问题

回溯算法 - 最优装载