zoukankan      html  css  js  c++  java
  • Java实现 LeetCode 365 水壶问题

    365. 水壶问题

    有两个容量分别为 x升 和 y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好 z升 的水?

    如果可以,最后请用以上水壶中的一或两个来盛放取得的 z升 水。

    你允许:

    装满任意一个水壶
    清空任意一个水壶
    从一个水壶向另外一个水壶倒水,直到装满或者倒空
    示例 1: (From the famous “Die Hard” example)

    输入: x = 3, y = 5, z = 4
    输出: True
    示例 2:

    输入: x = 2, y = 6, z = 5
    输出: False

    PS:
    如果z=ax+by(a,b均整),x与y最大公约数为g,那么z一定是g的整数倍,即z%g=0!!

    class Solution {
        public boolean canMeasureWater(int x, int y, int z) {
       return z == 0 || (x + y >= z && z % gcd(x, y) == 0);
        }
        int gcd(int x, int y) {
            return y == 0 ? x : gcd(y, x % y);
        }
    
       
    }
    
  • 相关阅读:
    新的学习计划
    Python学习搬家啦
    安装数据库软件
    oracle11g RAC之grid安装
    PG源码编译安装
    vnc图形化远程centos7.6步骤
    postgresql 日期格式
    centos配置yum源
    pg创建多个实例
    PostgreSQL配置
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13075815.html
Copyright © 2011-2022 走看看