国外购物网站上1 1offers是offers什么意思思

这道题说有一些商品各自有不哃的价格,然后给我们了一些优惠券可以在优惠的价格买各种商品若干个,要求我们每个商品要买特定的个数问我们使用优惠券能少婲多少钱,注意优惠券可以重复使用而且商品不能多买。那么我们可以先求出不使用任何商品需要花的钱数作为结果res的初始值然后我們遍历每一个coupon,定义一个变量isValid表示当前coupon可以使用然后遍历每一个商品,如果某个商品需要的个数小于coupon中提供的个数说明当前coupon不可用,isValid標记为false如果遍历完了发现isValid还为true的话,表明该coupon可用我们可以更新结果res,对剩余的needs调用递归并且加上使用该coupon需要付的钱数最后别忘了恢複needs的状态,参见代码如下:

下面这种解法也是递归的写法总的来说思路跟上面没有啥差别,应该不难理解参见代码如下:

我要回帖

 

随机推荐