阿里笔试题目「建议收藏」

阿里笔试题目「建议收藏」题目描述一个淘宝的订单中包含n(10>=n>=1)种商品A1,A2,…,An,每种商品数量分别为a1,a2,…,an个,记做{a1,a2,…,an}(ak>0)。订单在仓库生产过程中,仓库为了提升作业效率,会提前对热门组合商品进行预包装。假设这n个商品有m(9>=m>=1)个商品组合,每个组合bomk包含A1,A2,…,An的数量分别为{b1,b2,…,bn}(bk&…

大家好,又见面了,我是你们的朋友全栈君。题目描述

一个淘宝的订单中包含n(10>=n>=1)种商品A1,A2,…,An,每种商品数量分别为a1,a2,…,an个,记做{a1,a2,…,an}(ak>0)。订单在仓库生产过程中,仓库为了提升作业效率,会提前对热门组合商品进行预包装。假设这n个商品有m(9>=m>=1)个商品组合,每个组合bomk包含A1,A2,…,An的数量分别为{b1,b2,…,bn}(bk>=0,至少存在一个bk>0)

举例如下:

订单包含A,B,C商品,数量为{2,3,1},商品组合bom1{2,1,1},bom2{1,1,0},bom3{0,1,1}

对以上订单匹配给定商品组合,得到的可能匹配结果为:res1.匹配到组合1一套,剩余B商品;res2.匹配到组合2两套,组合3一套,不剩商品;

现要求订单的最优匹配,最优匹配的原则为:1.匹配组合后,剩余商品种类数越少越好;2.在剩余商品种类数相同的情况下,匹配到的组合种类数越少越好;

例如上面例子,我们认为res2优于res1。

现需要编写程序,输入格式为:

n,m

a1,a2,…,an

bom1,b11,b12,…,b1n

bom2,b21,b22,…,b2n

….

bomm,bm1,bm2,…,bmn

输入数据的格式说明(数据间使用英文逗号分隔):

第一行数据:n个商品,m个预包方案

第二行数据:商品1个数,商品2个数,。。。,商品n个数

第三行数据:bom1,商品1个数,商品2个数,。。。,商品n个数

第n-1行数据:。。。。

第n行数据:bomn,商品1个数,商品2个数,。。。,商品n个数

针对输入数据找出最优匹配,输出最优匹配的组合及套数,比如针对上面的例子输出:

match result:

bom2*2,bom3*1

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142437.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一个15年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害

    一个15年ABAP老兵的建议:了解这些基础知识,对ABAP开发有百利而无一害SAPNetweaver 应用服务器是 SAPABAP 应用开发和运行平台 ABAP 开发人员在上面可以专注于具体业务逻辑的开发 凡涉及到更底层的基础设施相关任务 比如请求的负载均衡 进程的派生 同步和调度 内存管理 服务器多实例间缓存同步等等 统统交由 Netweaver 平台本身处理 如此一来 一个 ABAP 开发人员 即使不具备精深的计算机组成原理 操作系统 计算机网络等领域知识 也能胜任 SAP 应用的开发工作 本文详细介绍了 ABAP 服务器的各大组成部分和其职责所在 httpshttpsht

    2025年11月20日
    8
  • jquery关于checkbox选中和不选中的问题

    jquery关于checkbox选中和不选中的问题近期由于项目需要,用到了列表checkbox,在点击被考核人的一行时,check不选中,然后解决方法是  //点击被考核人列表  $(“table.be_assess-employee-container”).on(“click”,”tr.content”,function(){    if($(this).hasClass(“on”)){    

    2022年6月29日
    24
  • object finalized_finalize()方法

    object finalized_finalize()方法一、一次标记首先finalize方法是在垃圾回收时,用于确认该对象是否确认被回收的一个标记过程。确认一个对象真正被回收需要经历两次标记过程:可达性分析没有引用,这是第一次标记是否有必要执行finalize方法,如果对象没有重写finalize方法或者finalize方法已经被调用过了,那么finalize方法就是没有必要执行的,没有必要执行finalize方法的对象就会被直接回收。如果对象被判定为有必要执行finalize()方法,那么这个对象将会放置在一个叫做F-Queue的队列之中,并在稍后

    2026年1月21日
    4
  • 在线电影资源的版式说明

    在线电影资源的版式说明http://tieba.baidu.com/f?kz=47439298http://wenku.baidu.com/view/74cadfd0b9f3f90f76c61bca.htmlhttp://wenku.baidu.com/view/a14f7410ff00bed5b9f31d9b.html一、在线电影资源的常见版式(按画质排列)1. CAM(枪版) CA

    2022年7月26日
    8
  • Python语言有哪些数据类型「建议收藏」

    Python语言有哪些数据类型「建议收藏」在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,…

    2022年5月28日
    31
  • ssdp协议内容解析视频_固态硬盘的协议

    ssdp协议内容解析视频_固态硬盘的协议SSDP协议内容解析

    2022年10月11日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号