围观测评题(1)

简介: 问题来了: 小明是一个爱吃零食的小伙子,平时会在网上购买各种好吃的零食。一天,小明了解到,在电商平台上购买不同种类的零食,会有各种各样的优惠活动,如:满99减50,满188减100,满288减150等,每种零食只参与其中一种优惠活动方式,还包邮哦,但也有条件,就是每种零食只限购一份。

问题来了:

小明是一个爱吃零食的小伙子,平时会在网上购买各种好吃的零食。一天,小明了解到,在电商平台上购买不同种类的零食,会有各种各样的优惠活动,如:满99减50,满188减100,满288减150等,每种零食只参与其中一种优惠活动方式,还包邮哦,但也有条件,就是每种零食只限购一份。小明看了非常心动,原来网上购买零食这么划算,可以节省很多钱,真的太好了。心动不如行动,小明马上列出了所有参与活动的零食种类和其价格,以及每种零食种类参与的优惠活动方式,小明也看了看自己支付宝里面的余额为 M(正整数)元。但是小明烦恼也来了,左算右算,也算不出怎样选择零食的组合才能使自己买到的零食总和价格最大,聪明的你帮帮小明算算,在最后支付时(优惠后)的总金额不大于 M 的前提下,小明最多可以买到零食的价值总和 N

输入数据包括:
(1)优惠活动:满减金额条件和其满减金额(小于或等于5种优惠活动);
(2)每种零食的价格和其参加的优惠活动(小于30中零食);
(3)小明支付宝金额 M。

输出:小明最多可以买到零食的价值总和 N。

我的贪心算法解法:

  1. 计算各种优惠活动中购买的零食达到满减的最小总价 K1~K5(M >= K >= S)
  2. 计算各种优惠活动最低满减后价格 n1~n5(n = K - A,N = n+)
  3. 计算参与优惠活动的最优方案(最多2^5种,最终选出 n 集合,使得 N 最大)
  4. 最后如果有剩余零钱,则对剩余可购买的零食选最优方案,使得零钱趋向于零。

PS:中途可能计算出优惠活动不可用的情况,则在第3步计算方案前将其排除。不过在第4步要考虑全部优惠活动,以免错过最后一个花钱的机会呀(虽然已经没有优惠了)~~~

小伙伴,你有想到其他解法或者对我的解法有任何意见吗?欢迎评价分享你的想法~

目录
相关文章
|
4月前
|
大数据 程序员 开发者
“寻找热爱技术创作的你”征文活动 获奖名单
发布技术征文,SHOW出你的故事。“寻找热爱技术创作的你”征文活动完美落下帷幕,活动得到了众多开发者的支持和喜爱,现公布征文活动获奖名单,快来看看吧!
783 4
|
JavaScript 前端开发 小程序
【2023新星计划 】博客创作指导 & 活动解读
【2023新星计划 】博客创作指导 & 活动解读
183 0
|
人工智能 算法 前端开发
7月博主有奖征文,百分百得奖
7月博主有奖征文,百分百得奖
1364 14
|
Web App开发 存储 开发者
一个单纯客观的稀土掘金浏览器插件测评 (上)
其实我最早接触掘金社区,就是先从浏览器插件开始的。没记错的话,是大圣老师给我安利的浏览器插件,当时已经决定了成为一名技术内容的创作者,而掘金浏览器插件,在我每次打算在网上冲浪的时候,都可以让我先看看技术社群最新的文章,最新的开源项目...非常方便技术内容创作者获取一手技术资讯。
544 0
一个单纯客观的稀土掘金浏览器插件测评 (上)
|
移动开发 Kubernetes Cloud Native
《乘风者周刊》 专家博主:琦彦 ——一个半路出家的文科生如何逆袭成技术大咖
“二流的技术人员,善于倾听、善于交流,也能作出一流的成绩”
28455 0
《乘风者周刊》 专家博主:琦彦 ——一个半路出家的文科生如何逆袭成技术大咖
|
人工智能 编解码 安全
|
开发者
阿里云开发者社区知识产权保护暨版权授权与侵权投诉指引
阿里云开发者社区知识产权保护暨版权授权与侵权投诉指引
1129102 5