題目描述:
聖誕活動預熱開始啦,漢堡店推出了全新的漢堡套餐。為了避免浪費原料,請你幫他們制定合适的制作計劃。
給你兩個整數 tomatoSlices 和 cheeseSlices,分别表示番茄片和奶酪片的數目。不同漢堡的原料搭配如下:
巨無霸漢堡:4 片番茄和 1 片奶酪
小皇堡:2 片番茄和 1 片奶酪
請你以 [total_jumbo, total_small]([巨無霸漢堡總數,小皇堡總數])的格式傳回恰當的制作方案,使得剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的數量都是 0。
如果無法使剩下的番茄片 tomatoSlices 和奶酪片 cheeseSlices 的數量為 0,就請傳回 []。
示例 1:
輸入:tomatoSlices = 16, cheeseSlices = 7
輸出:[1,6]
解釋:制作 1 個巨無霸漢堡和 6 個小皇堡需要 41 + 26 = 16 片番茄和 1 + 6 = 7 片奶酪。不會剩下原料。
示例 2:
輸入:tomatoSlices = 17, cheeseSlices = 4
輸出:[]
解釋:隻制作小皇堡和巨無霸漢堡無法用光全部原料。
示例 3:
輸入:tomatoSlices = 4, cheeseSlices = 17
輸出:[]
解釋:制作 1 個巨無霸漢堡會剩下 16 片奶酪,制作 2 個小皇堡會剩下 15 片奶酪。
示例 4:
輸入:tomatoSlices = 0, cheeseSlices = 0
輸出:[0,0]
示例 5:
輸入:tomatoSlices = 2, cheeseSlices = 1
輸出:[0,1]
提示:
0 <= tomatoSlices <= 10^7
0 <= cheeseSlices <= 10^7
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/number-of-burgers-with-no-waste-of-ingredients
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
emm二進制一次方程,感覺應該屬于簡單題
class Solution {
public List<Integer> numOfBurgers(int tomatoSlices, int cheeseSlices) {
if(tomatoSlices < 0 || cheeseSlices < 0){
return new ArrayList<>();
}
int tem = tomatoSlices - 2 * cheeseSlices;
int x = (tem >> 1);
if(tem < 0 || (tem & 1) == 1 || cheeseSlices - x < 0){
return new ArrayList<>();
}
List<Integer> list = new ArrayList<>();
// int y = ;
list.add(x);
list.add(cheeseSlices - x);
return list;
}
}