头条面试遇到的算法题

满减凑单问题

假设双十一购物,有满xx减xx的活动(例如满100-30),我现在购物车中有充足的商品,商品价格各不相同,请帮我利用购物车内商品凑单,每个商品只能用一次,使我获得最大优惠(即凑单商品总价大于等于100但最近接近100)

输入:商品价格数组,凑单金额

输出:总价超过凑单金额但最接近的金额

例如

输入 [90, 52, 30, 65, 20] 100

输出 102

求大佬指导

#字节跳动##笔试题目#
全部评论
我理解这应该是背包问题,容量设置为所有商品的单价和,计算完dp数组,从容量为100开始往后遍历,找到第一个花费大于等于100的就是最终结果
2 回复
分享
发布于 2020-04-16 06:59
小根堆?
点赞 回复
分享
发布于 2020-04-16 00:42
小红书
校招火热招聘中
官网直投
dp吧,感觉01背包
点赞 回复
分享
发布于 2020-04-16 07:27
背包问题。
点赞 回复
分享
发布于 2020-04-16 07:53
好像还有一个条件,这些卷存在互斥,或者只能用在特定的商品上,这类问题怎么解决
点赞 回复
分享
发布于 2020-04-16 10:17
如果商品可以用多次但是有个数限制。时间复杂度不能改变。怎么做。
点赞 回复
分享
发布于 2020-04-16 20:24
楼主,只要一天没走完所有面试就是凉了吗?二面完让我等通知
点赞 回复
分享
发布于 2020-04-22 16:20
01背包问题变种:建立一个备忘录二维表(列是100*n),表初始化后,从100列开始忘后找。
点赞 回复
分享
发布于 2021-01-08 11:09

相关推荐

点赞 7 评论
分享
牛客网
牛客企业服务