
🔔本文收录于「2025华为OD机试真题(Java版)」专栏,手把手带你零基础教学华为OD机试。本题集提供最优题解思路,解题步骤,代码解析,复杂度分析及最优题解源码等,支持多语言题解,助你轻松拿捏OD机考,一举上岸!安利大家关注&&收藏&&订阅!题库正在疯狂收录中,up!up!up!!
🚫提醒:拒绝一切代考/替考,违法必究!本人所写题库均搜集于互联网。
💗订阅福利:一次订阅,可永久免费阅读,提供在线答疑解惑,后续题库更新皆可阅读使用!
📚1. 题目描述
📢 具体题目描述如下:
某网上商场举办优惠活动,发布了满减、打折、无门槛3种优惠券,分别为:
1:每满100元优惠10元,无使用数限制,如100~199
元可以使用1张减10元,200~299
可使用2张减20元,以此类推:
2:92折券,1次限使用1张,如100元,则优惠后为92元,
3:无门槛5元优惠券,无使用数限制,直接减5元。
优惠券使用限制: 每次最多使用2种优惠券,2种优惠可以叠加(优惠叠加时以优惠后的价格计算)。
以购物200元为例,可以先用92折券优惠到184元,再用1张满减券优惠10元,最终价格是174元,也可以用满减券2张优惠20元为180元,再使用92折券优惠到165(165.6向下取整),不同使用顶序的优惠价格不同,以最优惠价格为准,在一次购物种,同类型优惠。
券使用多张时必须一次性使用,不能分多次拆开使用(不允许先使用1张满减券,再用打折券,再使用一张满减券)。
请设计实现一种解决方法,帮助购物者以最少的优惠券获得最优的优惠价格。优惠后价格越低越好,同等优惠价格,使用的优惠券越少越好,可以允许某次购物不使用优惠券。
约定:优惠活动每人只能参加一次,每个人的优惠券种类和数量是一样的。