根据开发者各项目投标金额计算项目总最低成本(面试题)
项目投标总最低成本计算逻辑
规则说明
- 计算目标:根据提交的所有项目投标数据,算出覆盖全部项目的总最低承接成本
- 前置校验:只要有任意一个项目没有收到任何有效投标,直接返回-1,输出「No project assigned」,必须保证每个项目至少有1条投标记录,才能进入后续计算环节
- 计算规则:单个项目的成本取该项目下所有投标金额的最小值,最终总成本为所有项目最低投标额的累加和
- 输出要求:计算过程中需要按项目ID从小到大的顺序,逐行打印该项目下所有投标金额的对比过程
参考示例
示例1:校验通过,正常计算
输入
val numOfProjects = 3 val projectId = arrayOf(1, 2, 0, 1, 2, 0) val bids = arrayOf(35, 10, 8, 20, 25, 100)
输出结果
For Project 0 : Comparing bid amount of Dollar 8 with Dollar 100 For Project 1 : Comparing bid amount of Dollar 35 with Dollar 20 For Project 2 : Comparing bid amount of Dollar 10 with Dollar 25 Min cost for All projects is 38 dollars
计算过程拆解
Project 0 min cost is 8 Project 1 min cost is 20 Project 2 min cost is 10 So, total amount is 8+20+10 = 38
示例2:校验不通过
输入
val numOfProjects = 3 val projectId = arrayOf(1, 2, 1, 1, 2, 1) val bids = arrayOf(35, 10, 8, 20, 25, 100)
输出结果
No project assigned
触发原因:编号为0的项目无任何对应投标记录,不满足前置校验要求,直接返回失败结果
内容的提问来源于stack exchange,提问作者Nk P
相关产品推荐
相关产品推荐

