装箱问题,贪心算法求近似最优解

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() {

@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

//位置箱子重量为零跳过

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

System.out.print(boxs[i]+"\t");

if(boxs[i]==0){

continue;

}

Boxcount++;

}

System.out.println("\n箱子数:"+Boxcount);

}

public static void main(String[] args) {

new Enchase().test1();

}

}

以上就是本文的全部内容了,希望大家能够喜欢。

一维装箱问题 java_c语言来实现贪心算法之装箱问题相关推荐

  1. 装箱问题c语言函数,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  2. c语言装箱问题思路,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  3. c语言单元最短路径贪心算法,单源最短路径 贪心算法

    <单源最短路径 贪心算法>由会员分享,可在线阅读,更多相关<单源最短路径 贪心算法(3页珍藏版)>请在人人文库网上搜索. 1.实验三 单源最短路径一.实验目的及要求掌握贪心算法 ...

  4. 1020 月饼(C语言版 + 注释 + 贪心算法)

    月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样 ...

  5. 贪心算法讲解(集合覆盖问题,旅行商问题求解)

    教室调度问题 假设有如下课程表,你希望将尽可能多的课程安排在某间教室上. 你没法让这些课都在这间教室上,因为有些课的上课时间有冲突. 你希望在这间教室上尽可能多的课.如何选出尽可能多且时间不冲突的课程 ...

  6. C语言 · 贪心算法

    发现蓝桥杯上好多题目涉及到贪心,决定学一学. 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说:不从整体最优上考虑,而是在某种意义上的局部最优解.其关键是贪心策略的选择,选择的贪心 ...

  7. Algorithm:C++语言实现之贪心法算法相关问题

    Algorithm:C++语言实现之贪心法算法相关问题 目录 一.贪心法 一.贪心法 1.LIS的算法分析

  8. 贪心算法设计作业调度c语言,贪心算法 - 数据结构与算法教程 - C语言网

    1.简介 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解. 贪心算法不是对所有问题都能得到整体最优 ...

  9. C语言经典贪心算法之加油站问题(详解)

    文章目录 一.贪心算法 二.加油站问题 一.贪心算法 贪心算法暗示一种不追求最优解,只希望找到较为满意解的方法.贪心算法省去了为找最优解要穷尽所有可能而必须耗费大量时间,因此它一般可以快速得到较为满意 ...

最新文章

  1. MySQL重置root用户密码的方法
  2. R语言绘制带聚类树的堆叠柱形图
  3. 面试了一个 46 岁程序员,思绪万千
  4. Android系统的架构
  5. 终于不用手撸了,解放你的双手,教你用数学建模的方式对答题卡进行有效识别
  6. CSS基础_Day01
  7. .gitignore文件将已经纳入版本管理的文件删除
  8. Memcached在Windows下的安装
  9. 如何避免程序员的大脑超载?
  10. Win10电脑如何设置环境变量
  11. 计算机病毒教学评课,计算机病毒评课稿样稿.doc
  12. ubuntu系统解决WPS字体缺失
  13. 01_开关电源设计-电源反馈电路怎么设计?TL431配合光耦反馈电路实例设计
  14. mysql键值_如何在MySQL中存储键值对?
  15. Reactjs源码分析
  16. Linux使用Maven部署SpiderFlow爬虫平台
  17. mysql设置bufferpool_mysql修改buffer_pool大小
  18. unittest用例封装
  19. 加密币Terra创始人权道亨已从新加坡飞往杜拜转往第三国
  20. 微信h5获取用户地址信息

热门文章

  1. Android生命周期帮助类,Android Service类与生命周期详细介绍_Android_脚本之家
  2. 2021年重庆高考成绩排名查询,2021年重庆理科高考成绩排名一分一段表,重庆高考理科成绩排名查询...
  3. matlab基数排序,如何在MATLAB中编写基数排序的程序
  4. Scrapy Crawl 运行出错 AttributeError: 'xxxSpider' object has no attribute '_rules' 的问题解决...
  5. pyspark对应的scala代码PythonRDD类
  6. Activity生命周期(二)
  7. Apache 日志配置,包含过滤配置
  8. WF+WCF+WPF第三天-WF实现一个软件自动测试框架
  9. 对象指针与this指针
  10. 图片类关于实现图片剪切功能的相关类的学习心得