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

阿里笔试题目「建议收藏」题目描述一个淘宝的订单中包含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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021软件测试面试题及答案_2021年软件测试面试题大全

    2021软件测试面试题及答案_2021年软件测试面试题大全1.数据库增删改查基本上查询考的比较多,也有考察新增,修改,删除的,极个别的会给出表结构,字段要求,让你据此建表以及临时表查询语句主要考察子查询,聚合函数,多表查询,分组,可参考下面链接(sql50题)sql50题插入语句insertinto[table]([column],[column])values(?,?)删除语句deletefrom[table]wherecolumn=?修改语句update[table]setcolumn=?wherec

    2022年8月26日
    6
  • 进制之间的转换(二进制、八进制、十进制、十六进制)「建议收藏」

    进制之间的转换(二进制、八进制、十进制、十六进制)「建议收藏」二进制二进制就是计算机常用的进制,即逢二进一。例如:1010八进制八进制即逢八进一。例如:626十进制十进制就是我们在计算中常用的进制,所以就不再举例(即逢十进一)十六进制十六进制与其它进制有所不同,在10到15用英文字母进行表示。上面就是对进制的简单介绍,下面就是对进制转换而进行介绍。1.二进制转八进制拿二进制数10010110举例首先需要3个二进…

    2022年10月18日
    4
  • inputstreamreader和inputstream_FileInputStream

    inputstreamreader和inputstream_FileInputStream我们的机器只会读字节码,而我们人却很难读懂字节码,所以人与机器交流过程中需要编码解码。InputStreamReader及其子类FileReader:(从字节到字符)是个解码过程;OutputStreamWrite及其子类FileWriter:(从字符到字节)是个编码过程。InputStreamReader这个解码过程中,最主要的就是StreamDecoder类 

    2022年9月26日
    4
  • pycharm安装CV2,tensorflow[通俗易懂]

    pycharm安装CV2,tensorflow[通俗易懂]在pycharm中导入importcv2时不能正常使用,需要安装cv2库,但是我们在pycharm中安装库时没有找到CV2,就需要安装opencv库,我采用的是以下的方式:1、首先看下pycharm中的环境,我现在用的环境是anaconda下的PyCharmproject2、在菜单栏中打开anacondaprompt(anaconda3)3、刚开始进入时环境是4、切换环境为pycharm中环境activatePyCharmproject5、已经下好了opencv的whl文件,我下到了3

    2022年8月26日
    9
  • 什么是javabean及其用法

    什么是javabean及其用法一、什么是JavaBean  JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数 属性必须私有化。 私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。javaBean范例:1packagegacl.javabean.study;23/**4…

    2022年7月17日
    12
  • linux配置ip端口号

    linux配置ip端口号1./etc/httpd/conf.d/test.conf8000> ServerNametest.com//也可以是ip地址 DocumentRoot/var/www/test DirectoryIndexindex.htmlindex.php AddDefaultCharsetutf-8 DefaultLanguageutf-8 LanguagePriority

    2022年5月22日
    160

发表回复

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

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