天天看點

二、不浪費原料的漢堡制作方案(Weekly Contest 165)

題目描述:

聖誕活動預熱開始啦,漢堡店推出了全新的漢堡套餐。為了避免浪費原料,請你幫他們制定合适的制作計劃。

給你兩個整數 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;

    }
}
           

繼續閱讀