Java面试题--沙袋装箱问题
来源:互联网 发布:淘宝上传图片的分辨率 编辑:程序博客网 时间:2024/04/28 00:32
前言:
今天公司来了两个面试者,一个面试Android软件工程师,一个面试Java EE软件工程师。都是一会就说不做了,然后就走了,然后我就很好奇,是什么题目让大家如临大敌,这也让我对新来的主管产生了一点点的敬畏;
题目:
对于这个题目感兴趣的可以一起探讨一下,这个题目还是比较有意思的,先给出题目,别人的解决方法,已经我自己的思路。
网上其他人的思路:
java沙袋装箱问题
ps:题目就是借用他的图片,嘻嘻......
我自己的思路:
先给代码:
package org.smt.util;import java.util.ArrayList;import java.util.Collections;public class TextMain {public static void main(String[] args) {int[] nums = new int[] {50, 60, 70, 80, 40, 20, 28, 36, 27, 46, 55, 58};ArrayList<Integer> bagList = new ArrayList<Integer>();for (int i = 0; i < nums.length; i++) {bagList.add(nums[i]);}Collections.sort(bagList);ArrayList<ArrayList> train = new ArrayList<ArrayList>();int tankSize = 100;while (bagList.size() > 0) {ArrayList<Integer> tank = new ArrayList<Integer>();inTank(tank, bagList, tankSize);train.add(tank);}for (ArrayList<Integer> tank : train) {System.out.println("/////////////////");for (Integer bag : tank) {System.out.println(" " + bag);}}}public static void inTank(ArrayList tank, ArrayList bagList, int tankSize) {int tmp_j = 0, tmp_k = 0;Integer sum = 0, max = 0;for (int j = 0; j < bagList.size() - 1; j++) {for (int k = bagList.size() - 1; k > j; k--) {sum = (Integer)bagList.get(j) + (Integer)bagList.get(k);if (sum <= 100) {if (max < sum) {max = sum;tmp_j = j;tmp_k = k;}}}}tank.add(bagList.get(tmp_j));tank.add(bagList.get(tmp_k));bagList.remove(tmp_j);bagList.remove(tmp_k - 1);}}
运行结果:
///////////////// 20 80///////////////// 40 60///////////////// 28 70///////////////// 46 50///////////////// 36 58///////////////// 27 55最后的结果都是6个箱子来装沙袋,但是我觉得这个过程是很有歧义的,就像上文的兄弟提到过的,有时间再继续分享。
0 0
- Java面试题--沙袋装箱问题
- java沙袋装箱问题
- 面试题:最佳果树装箱打包问题。
- java 自动装箱(面试题)基本知识总结即简例
- 【面试题】java装箱拆箱引发的思考
- 面试题-java自动拆箱与装箱
- 面试题--自动装箱详解
- JAVA面试题的问题
- Java线程问题。面试题
- 【每日一题】Java 包装类型装箱拆箱基础面试题
- Java装箱问题
- Java面试题:猫吃老鼠问题
- java面试笔试题,字符串反转问题
- Java面试题--只提出了问题
- Java面试题之文件删除问题
- Java算法面试题(009) 毒酒问题
- 面试题:赛马问题
- 面试题:赛马问题
- 批量excel排版转换为印刷版:排版工具
- andorid xml 修改 seekbar 式样
- 腾讯云相关问题(通过yum装的软件的卸载,mac下通过终端登陆linux服务器及遇到的问题,自动ssh免密码登陆)
- iMold v13 Sp2 For SolidWorks 2014-2015 -发现者软件网
- PAT1003——走向ACM!
- Java面试题--沙袋装箱问题
- 贝塞尔曲线学习
- windows上MySQL-5.6.27解压缩安装和配置
- 性能——有限资源,高效利用
- OC第九天:内存管理初级
- iOS之Swift折叠效果分享
- IOC容器——Unity 深度解析(一)
- 【BUG】解决SSH2中@Transactional没有回滚,事务处理没有起作用
- HDU 1506 Largest Rectangle in a Histogram(DP)