通过万岁!!!
- 题目,给你两个数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});}}
}
- 总结:题目其实很简单,列出公式来,题目就出来了。