题目描述

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

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

你允许:

  • 装满任意一个水壶
  • 清空任意一个水壶
  • 从一个水壶向另外一个水壶倒水,直到装满或者倒空

题目分析

该题可使用数学方法求解,我们每一次操作只能倒满x,y或者清空x,y,若干次操作之后得到z,那么我们可以得出ax+by=z,如果有解,那么可解,否则不可解。
对于ax+by=z这个问题,如果z整除gcd(x,y),那么有a,b有整数解,否则无整数解

Java代码

public boolean canMeasureWater(int x, int y, int z) {if(x+y < z){return false;}else{if(x==0 || y==0){return z==0 || x+y==z;}else{return z%GCD(x,y) == 0;}}}private int GCD(int a,int b){if(b==0){return a;}else{return GCD(b,a%b);}}

leetcode每日一题-水壶问题相关推荐

  1. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

  2. Leetcode每日一题:171.excel-sheet-column-number(Excel表列序号)

    思路:就是168题的反命题,进制的方式完美解决: Leetcode每日一题:168.excel-sheet-column-title(Excel表名称) class Solution {public: ...

  3. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  4. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  5. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  6. 【LeetCode每日一题】——109.有序链表转换二叉搜索树

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...

  7. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  8. LeetCode每日一题——904. 水果成篮

    LeetCode每日一题系列 题目:904. 水果成篮 难度:普通 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 你正在探访一家农场,农场从左到右种植了一排果树.这些树用一个整 ...

  9. LeetCode每日一题打卡组队监督!刷题群!

    近 2000 人已经加入共同刷题啦! 群友每天都会在群里给大家讲解算法题 每周日「负雪明烛」组织直播讲题 我相信来看我博客的大部分人都是通过LeetCode刷题过来的.最近发现LeetCode中文网站 ...

最新文章

  1. 自定义Visual Studio IntelliTrace 智能跟踪
  2. python基础:try...except...的详细用法
  3. Azure与Scott Guthrie:Azure安全中心和基于角色的访问控制
  4. elasticsearch-6.0.1安装
  5. 开挂了!女生用写字机器人刷作业 因写太快被识破 这能怪孩子吗?
  6. toad可以连接mysql吗_配置Toad链接远程Oracle数据库
  7. Datetime 24小时制
  8. Servlet→简介、手动编写一个Servlet、使用MyEclipse编写一个Servlet、Servlet生命周期、路径编写规范、初始化参数、MVC设计模式
  9. Dynamics CRM - 使用 JavaScript 操作 Business Process Flow
  10. Redis进阶: 锁的使用
  11. linux的QQ安装在哪个文件夹,linux安装QQ
  12. JavaEE ActionForm的高级应用
  13. 如何在Mac上自定义文件和文件夹图标?看这里
  14. winform,鼠标移动到label标签时变成手的形状
  15. OpenPortal Wifi认证、Portal协议认证、WEB认证解决方案
  16. Spring 集成与分片详解
  17. 3D体感试衣镜,实现虚拟试穿,提升顾客的购物体验!
  18. Jim Keller:在指令集上辩论是一件悲哀的事情
  19. PyTorch入门: Kaggle 泰坦尼克幸存者预测
  20. 【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案...

热门文章

  1. 三星电脑如何装linux系统软件,三星怎么在 Linux 操作系统下安装驱动程序
  2. jQuery中ajax的使用(最详细)
  3. java计算机毕业设计豪庭名郡酒店管理管理系统源程序+mysql+系统+lw文档+远程调试
  4. 机器人 魂斗罗铁血兵团_《魂斗罗·铁血兵团》ENDING
  5. ROOT手机后的那些事——Xposed框架
  6. 层次分析法(AHP)--代码书写部分
  7. html可以用搜狗浏览器打开网页,我的网站源代码乱码,却网页显示正常,搜狗浏览器可以打开,火狐ie却不能,求救_html/css_WEB-ITnose...
  8. sigmatube软件破解思路与方向
  9. 高德地图 python面试_【高德地图面试|面试题】-看准网
  10. redis的Bitmap、HyperLogLog、Geospatial