您的位置:首页 > 其它

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的时候不用做任何操作都满足。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: