阿里2018届应届生招聘JAVA编程题

题目一:

天猫国际每天都会卖出很多跨境商品,用户每次下单可能购买多个商品,购买总数小于10件,由于海关规定,每一个进入海关的箱子里面的商品总额不能超过2000元(否则不能清关)所以当用户下单总金额超过2000,必须使用多个箱子分开包装运输;现在为了节约运输成本,希望在满足海关的要求下,能够使用尽可能少的箱子。
注:
每个商品都有自己的单价,有特定的长宽高,所有商品都是长方体
商品可以横放、竖放、侧放,但不用考虑斜放,但是长宽高各项总和必须都要小于等于箱子的长宽高
假定目前天猫国际使用同一种规格的箱子
boxLong,boxWidth,boxHigh
(箱子长,箱子宽,箱子高)

 某用户下单买了如下商品
 n(商品件数)
 item1Price,item1Long,item1With,item1High
 item2Price,item2Long,item2With,item2High
 item3Price,item3Long,item3With,item3High
 item4Price,item4Long,item4With,item4High
 ...
 (商品价格,商品长,商品宽,商品高)
 (所有输入类型均为int型正整数)

 请你算出需要使用最小的箱子数量,可以将这些商品顺利得清关送到消费者手中,如果无解,输出-1

题目二:
在快递公司干线运输的车辆使用中,存在着单边车和双边车的两种使用场景,例如 北京中心-杭州中心,两个分拨中心到彼此的
单量对等,则可以开双边车(即同一辆车可以往返对开),而当两个中心的对发单量不对等时,则会采用单边车,并且双边
车的成本是低于单边车的,即将两辆对开的单边车合并为一辆往返的双边车是能够节省运力成本的
单边车优化原则:
将单边车优化的规则进行可抽象为以下三种(A,B,C均表示分拨中心):
规则-1: A-B单边车,B-A单边车 优化方案:将A-B和B-A的两辆单边车合并为双边;
规则-2: A-B单边车,B-C单边车,C-A单边车 优化方案:将A-B、B-C、C-A的三辆单边车优化为一辆环形往返车;
规则-3: A-B单边车,C-A单边车,B、C同省 优化方案:当B、C同省,将A-B、C-A两辆单边优化为一辆环形往返
问题如下:
以某快递公司的实际单边车数据为例(线路ID编码;出分拨中心; 出分拨中心所在省;到达分拨中心;到达分拨中心所在省;车型;),
进行优化,优化的规则参照以上,并且优先级依次降低,合并的时候需要考虑车型(分为17.5m和9.6m两种):1、相同车型才能进行合并
2、两辆同方向的9.6m可以与一辆17.5m的对开车型合并优化 说明:优化输
出结果按照规则分类,例如rule1: 2016120001+2016120002表示将单边车线路ID编码为2016120001和2016120002按照规则1合并优化

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值