当前位置:网站首页>LeetCode 1774. The dessert cost closest to the target price is one question per day
LeetCode 1774. The dessert cost closest to the target price is one question per day
2022-07-07 16:59:00 【@Little safflower】
Problem description
You're going to make dessert , Now you need to buy ingredients . At present, there are n Grow ice cream base and m Kinds of ingredients are available . There are a few rules to follow in making desserts :
Must choose A kind of Ice cream base .
You can add One or more ingredients , You can also do it without adding any ingredients .
Each type of ingredient Two at most .
Here are three inputs for you :baseCosts , A length of n Array of integers for , Each of them baseCosts[i] It means the first one i The price of an ice cream base .
toppingCosts, A length of m Array of integers for , Each of them toppingCosts[i] Express One copy The first i The price of an ice cream ingredient .
target , An integer , Indicates the target price for your dessert .
You want the total cost of your dessert to be as close to the target price as possible target .Return to the nearest target The cost of desserts . If there are multiple options , return The cost is relatively low A kind of .
Example 1:
Input :baseCosts = [1,7], toppingCosts = [3,4], target = 10
Output :10
explain : Consider the following combination of options ( All subscripts are from 0 Start ):
- choice 1 Base material No : cost 7
- choice 1 Share 0 Ingredient No.1 : cost 1 x 3 = 3
- choice 0 Share 1 Ingredient No.1 : cost 0 x 4 = 0
The total cost :7 + 3 + 0 = 10 .
Example 2:Input :baseCosts = [2,3], toppingCosts = [4,5,100], target = 18
Output :17
explain : Consider the following combination of options ( All subscripts are from 0 Start ):
- choice 1 Base material No : cost 3
- choice 1 Share 0 Ingredient No.1 : cost 1 x 4 = 4
- choice 2 Share 1 Ingredient No.1 : cost 2 x 5 = 10
- choice 0 Share 2 Ingredient No.1 : cost 0 x 100 = 0
The total cost :3 + 4 + 10 + 0 = 17 . There is no total cost of 18 How to make a dessert .
Example 3:Input :baseCosts = [3,10], toppingCosts = [2,5], target = 9
Output :8
explain : It can be made at a total cost of 8 and 10 For dessert . return 8 , Because it's a lower cost solution .
Example 4:Input :baseCosts = [10], toppingCosts = [1], target = 1
Output :10
explain : Be careful , You can choose not to add any ingredients , But you have to choose a base material .
Tips :
n == baseCosts.length
m == toppingCosts.length
1 <= n, m <= 10
1 <= baseCosts[i], toppingCosts[i] <= 104
1 <= target <= 104source : Power button (LeetCode)
link :https://leetcode.cn/problems/closest-dessert-cost
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Java
class Solution {
int ans = Integer.MAX_VALUE;
public int closestCost(int[] baseCosts, int[] toppingCosts, int target) {
int n = baseCosts.length;
for(int i = 0;i < n;i++){
dfs(toppingCosts,0,baseCosts[i],target);
}
return ans;
}
public void dfs(int[] toppingCosts,int index,int sum,int target){
if(Math.abs(sum - target) < Math.abs(ans - target)) ans = sum;
else if(Math.abs(sum - target) == Math.abs(ans - target)) ans = ans < target ? ans : sum;
// Judge after updating the results
if(index == toppingCosts.length || sum >= target) return;
// Add the ingredients
for(int i = 0;i < 3;i++){
dfs(toppingCosts,index + 1,sum + toppingCosts[index] * i,target);
}
}
}
边栏推荐
猜你喜欢
随机推荐
os、sys、random标准库主要功能
值得一看,面试考点与面试技巧
dapp丨defi丨nft丨lp单双币流动性挖矿系统开发详细说明及源码
Three. JS series (1): API structure diagram-1
LeetCode 300. 最长递增子序列 每日一题
面试题 01.02. 判定是否互为字符重排-辅助数组算法
[C language] question set of X
LeetCode 1696. Jumping game VI daily question
Temperature sensor chip used in temperature detector
【图像传感器】相关双采样CDS
两类更新丢失及解决办法
Vs2019 configuration matrix library eigen
LeetCode 152. 乘积最大子数组 每日一题
Build an all in one application development platform, light flow, and establish a code free industry benchmark
URL和URI的关系
Record the migration process of a project
LeetCode 1155. 掷骰子的N种方法 每日一题
模拟Servlet的本质
一文读懂数仓中的pg_stat
Lowcode: four ways to help transportation companies enhance supply chain management