#LC1. LC2431. 最大限度地提高购买水果的口味
LC2431. 最大限度地提高购买水果的口味
你有两个非负整数数组 price
和 tastiness
,两个数组的长度都是 n
。同时给你两个非负整数 maxAmount
和 maxCoupons
。
对于范围 [0, n - 1]
中的每一个整数 i
:
price[i]
描述了第i
个水果的价格。tastiness[i]
描述了第i
个水果的味道。
你想购买一些水果,这样总的味道是最大的,总价不超过 maxAmount
。
此外,你还可以用优惠券以 半价 购买水果 (向下取整到最接近的整数)。您最多可以使用 maxCoupons
次该优惠券。
返回可购买的最大总口味。
注意:
- 每个水果最多只能购买一次。
- 一个水果你最多只能用一次折价券。
示例 1:
输入: 3 10 20 20 5 8 8 20 1 输出: 13 解释: 可以用以下方法来达到总口味: - 无优惠券买第一个水果,总价= 0 + 10,总口味= 0 + 5。 - 用优惠券买第二个水果,总价= 10 + 10,总口味= 5 + 8。 - 不购买第三个水果,总价= 20,总口味= 13。 可以证明 13 是所能得到的最大总口味。
示例 2:
输入: 44 634 464 558 214 969 454 485 844 736 940 224 795 367 616 649 827 852 427 924 88 908 209 507 787 894 13 201 67 230 513 348 604 191 998 973 578 304 3 884 736 658 388 526 366 805 137 402 788 585 180 398 324 631 515 879 550 514 718 543 691 959 233 62 103 727 58 694 910 209 461 706 450 352 405 125 777 140 444 486 780 920 728 603 10 141 54 641 212 828 3 输出: 5035
提示:
n == price.length == tastiness.length
1 <= n <= 100
0 <= price[i], tastiness[i], maxAmount <= 1000
0 <= maxCoupons <= 5
原题:2431. 最大限度地提高购买水果的口味 - 力扣(LeetCode)