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

阿里笔试题目「建议收藏」题目描述一个淘宝的订单中包含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)
上一篇 2022年5月10日 下午12:20
下一篇 2022年5月10日 下午12:40


相关推荐

  • efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集「建议收藏」

    efishell无法开机shell_开机出现efi shell卡住不动了解决方法全集「建议收藏」[文章导读]最近有很多网友问我,为什么我的电脑开机后出现efishell提示进不了系统,开机出现efishell提示时,一般是由于第一启动项设置的是efishell启动的,有的网友告诉我,我第一启动项明明设置的是硬盘启动,当然还有一种情况就是前面的启动项都无法加载,然后按启动顺序启动,然后就启动到efishell了,出现这种情况一般就是系统引导破坏或是找不到引导项了。那么怎么找到原并解决…

    2022年7月24日
    10
  • 马尔可夫不等式和切比雪夫不等式

    马尔可夫不等式和切比雪夫不等式Markov sInequality 中文叫马尔科夫不等式或马尔可夫不等式 若随机变量 XXX 只取非负值 则 a gt 0 foralla gt 0 a gt 0 有 P X a E X a mathbb P X gea le dfrac mathbb E X a P X a aE X 证明 取 Ya aI X a Y a a mathbb I X gea Ya aI X a 则必有 Ya XY a leXYa X 进而有 E Ya E X mathbb E

    2026年3月17日
    2
  • 简单的图书管理系统用例图(UML)

    简单的图书管理系统用例图(UML)运用工具 Presson 自我评价 简单肤浅还可能是不规范的 初次接触用例图若有 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 错误请指出 此外 本人至今是软件工程大一新生 希望能认识更多志同道合的人共同努力 交流学习经验 也可在下方留下联系方式

    2026年3月18日
    2
  • 汉罗塔c++递归_栈与递归的区别

    汉罗塔c++递归_栈与递归的区别汉罗塔问题是一个非常经典的算法,我们首先来研究一下修改的汉罗塔(简化步骤),在后面我们将来讲述经典的汉罗塔问题。题目:修改后的汉罗塔的规则:现在限制不能从最左侧的塔直接移动到最右侧,必需要经过中间;同时从最右侧移动到最左测试,同样必需经过中间;要求移动N层塔时,打印最优移动1、用递归函数实现(从最左移动到最右)分析:-当只有一层塔时,我们先需要将其从左移到中间,再从中间移动到右边,共分为

    2022年10月11日
    2
  • 1、基于MFC的OpenGL程序

    1、基于MFC的OpenGL程序

    2021年11月19日
    49
  • XXE修复方案参考

    XXE修复方案参考XXE不同的库修复代码,略有差别,但都是通过:1、禁止加载外部实体;2、不允许XML中含有任何自己声明的DTD。可以解决

    2022年5月23日
    50

发表回复

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

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