365. Water and Jug Problem
2017-06-15 11:50
288 查看
class Solution(object):
def canMeasureWater(self, x, y, z):
"""
:type x: int
:type y: int
:type z: int
:rtype: bool
"""
if z == 0:
return True
if y == 0:
return False
if z > x + y:
return False
def gct(x,y):
if x < y:
x,y = y,x
while y != 0:
tmp = x % y
x = y
y = tmp
return x
x = gct(x,y)
if z % x == 0:
return True
else:
return False
思路:
求出最大公约数,然后在看z是不是最大公约数的倍数。
注意:
1.有一个瓶子不能装水时,无公约数
2.当两瓶子的和小于z的时候水无法装进瓶子,所以返回false
3.z为0的时候不用做任何操作都满足。
def canMeasureWater(self, x, y, z):
"""
:type x: int
:type y: int
:type z: int
:rtype: bool
"""
if z == 0:
return True
if y == 0:
return False
if z > x + y:
return False
def gct(x,y):
if x < y:
x,y = y,x
while y != 0:
tmp = x % y
x = y
y = tmp
return x
x = gct(x,y)
if z % x == 0:
return True
else:
return False
思路:
求出最大公约数,然后在看z是不是最大公约数的倍数。
注意:
1.有一个瓶子不能装水时,无公约数
2.当两瓶子的和小于z的时候水无法装进瓶子,所以返回false
3.z为0的时候不用做任何操作都满足。
相关文章推荐
- Leetcode 365. Water and Jug Problem[medium]
- [leetcode]365. Water and Jug Problem -- JavaScript 代码
- leetcode 365. Water and Jug Problem
- 365. Water and Jug Problem
- LeetCode-365. Water and Jug Problem (JAVA)水罐盛水问题
- 365. Water and Jug Problem
- leetcode 365. Water and Jug Problem 两个水杯倒水问题 + 最大公约数Gcd辗转相除法
- 365. Water and Jug Problem
- [LeetCode]problem 365. Water and Jug Problem
- 365. Water and Jug Problem
- leecode 解题总结:365. Water and Jug Problem
- 365. Water and Jug Problem
- 365. Water and Jug Problem
- 365. Water and Jug Problem
- Leetcode 365. Water and Jug Problem
- 365. Water and Jug Problem
- 365. Water and Jug Problem
- Leetcode 365. Water and Jug Problem
- 365. Water and Jug Problem
- LeetCode 365. Water and Jug Problem