LeetCode——1276. 不浪费原料的汉堡制作方案

通过万岁!!!

  • 题目,给你两个数tomatoSlices和cheeseSlices,然后每制作一个巨无霸汉堡则消耗4个tomatoSlices和1和cheeseSlices,每制作一个小皇堡则需要消耗2个tomatoSlices和1和cheeseSlices。问给你这两个数,能不能刚好制作x个巨无霸和y个小皇堡。如果可以的话,则输出x和y,否则舒服空list即可。
  • 思路:这个题目其实直接列出二元一次方程就好了,4x+2y=tomatoSlices;x+y=cheeseSlices。进行加减消元以后得到x=(tomatoSlices-2*cheeseSlices)/2。但是需要注意的是x和y必须是大于0的整数。
  • 技巧:数学

java代码

class Solution {
    public List<Integer> numOfBurgers(int tomatoSlices, int cheeseSlices) {
        int twoX = tomatoSlices - 2 * cheeseSlices;
        if (twoX < 0 || (twoX) % 2 == 1) {
            return new ArrayList<>();
        } else {
            if ((cheeseSlices - twoX / 2) < 0) {
                return new ArrayList<>();
            }
            return Arrays.asList(new Integer[]{twoX / 2, cheeseSlices - twoX / 2});
        }
    }
}
  • 总结:题目其实很简单,列出公式来,题目就出来了。

你可能感兴趣的:(算法,leetcode,算法,java)