🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🍂个人博客首页: KJ.JK 💖系列专栏:华为OD机试真题(C++)
火车站附近的限载小值析货物中转站负责将到站货物运往仓库,小明在中转站负责调度2K辆中转车(K辆干货中转车,K辆湿货中转车)。 货物由不同供货商从各地发来,各地的数最货物是依次进站,然后小明按照卸货顺序依次装货到中转车,一个供货商的货只能装到一辆车上, 不能拆装,但是一辆车可以装多家供货商的货; 中转车的限载货物量由小明统一指定,在完成货物中转的前提下,问中转车的统一限载货物数最小值为多少 。
输入 第一行 length表示供货商数量1 <= length <= 10^4 第二行 goods示供货数数组1 <= goods[j] <= 10^4 第三行 types表示对应货物类型, types[jI等于0或者1, 其中0代表干货,法思,1代表湿货 第四行k表示单类中转车数量1 <= k <= goods.length 输出 运行结果输出一个整数 ,表示中转车统一限载货物数 备注 中转车最多跑一趟仓库
1 、华为货物输入供货商数量、机试机试供货数数组、真题 对应货物类型和单类中转车数量 。统题算 2 、限载小值析求出限制载货量的数最最小值和最大值,最小值为单个供货商的货物数量,最大值为所有供货商的货物数量之和。 3、通过二分答案的方式,不断缩小限制载货量的范围,直到找到最小的限制载货量,使得可以将所有货物装载到中转车上 。 4 、在二分答案的过程中,需要判断当前限制载货量是否可以将所有货物装载到中转车上 。具体实现过程如下: . ● 维护干货中转车数量 、湿货中转车数量 当前干货中转车上已装载的货物总量和当前湿货中转车上已装载的货物总量