1. 水壶问题
    有两个容量分别为 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
若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。
对任意两个整数a、b设d是它们的最大公约数。那么关于未知数x和y的线性丢番图方程(称为裴蜀等式):
ax + by = m
有整数解(x,y)当且仅当m是d的倍数。裴蜀等式有解时必然有无穷多个解。

针对任意给出的x,y,z,可以假设用x与y分别往一个很大的容器里倒水和倒出水,那么如果z=mx+ny,找到合适的正整数m与n即为所求,其中m与n为负时,往外倒水,为正时,往里倒水。

若z<=x+y且z%d==0,说明存在m、n使得最终剩余水为z。根据贝祖等式,d为x、y的最

python【力扣LeetCode算法题库】365- 水壶问题(裴蜀等式)相关推荐

  1. python【力扣LeetCode算法题库】220-存在重复元素 III

    给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ. 示例 1: 输入: ...

  2. python【力扣LeetCode算法题库】219 -存在重复元素 II

    给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示例 1: 输入: nums = ...

  3. python【力扣LeetCode算法题库】217-存在重复元素

    给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 1: 输入: [1,2,3,1] 输出: true ...

  4. python【力扣LeetCode算法题库】257- 二叉树的所有路径

    给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1 / 2 3 5 输出: ["1->2->5", &quo ...

  5. python【力扣LeetCode算法题库】10-正则表达式匹配

    给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符 '*' 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 ...

  6. python【力扣LeetCode算法题库】136-只出现一次的数字

    只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 ...

  7. python【力扣LeetCode算法题库】面试题 01.07- 旋转矩阵

    面试题 01.07. 旋转矩阵 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节.请你设计一种算法,将图像旋转 90 度. 不占用额外内存空间能否做到? 示例 1: 给定 mat ...

  8. python【力扣LeetCode算法题库】289- 生命游戏

    生命游戏 根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞都具有 ...

  9. python【力扣LeetCode算法题库】面试题 17.16- 按摩师(DP)

    面试题 17.16. 按摩师 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预 ...

  10. python【力扣LeetCode算法题库】409-最长回文串(数学 计数器)

    最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字 ...

最新文章

  1. Python中的继承
  2. python 双边滤波与高斯滤波
  3. libevent java_libevent简介
  4. GPS UTC与北京时间的转换函数
  5. krsort函数怎么用php,krsort函数怎么用
  6. 百度地图mysql打点_关于百度地图连接MYSQL的问题,谢谢啦!
  7. kafka集群脚本启动失败,在kafkaServer.out中提示nohup: failed to run command `java’: No such file or directory
  8. MongoDB插入文档
  9. 微信收款码应该怎么申请呢?详细教程在这里
  10. digester java_在Digester中定位特定属性 - Java
  11. Java实习生工作总结(一)
  12. 2022年N1叉车司机上岗证题目及模拟考试
  13. 【微信小程序】使出千手浮图—回滚式
  14. 揭秘全美第一黑客组织Anonymous(匿名者)的装备库
  15. 中国首个细胞治疗类药品获批上市;恒瑞医药创新药氟唑帕利第二个适应症获批上市 | 医药健闻...
  16. QA - 有两种药片A和B,外观一样功效不同,每次需要吃一个A+B;拿出来2A+B,问该怎么吃?
  17. Python 抓取淘宝联盟优惠券
  18. 如何一键制作css精灵图?
  19. h5 vr效果_Web端VR初介绍
  20. MATLAB中不用循环生成圆盘(圆形)/圆环掩膜矩阵

热门文章

  1. pyqt根据名字获取控件
  2. PyCharm与git/GitHub取消关联
  3. penalized_tanh可视化
  4. No module named 'tf_extended'
  5. darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.
  6. 二叉树深度优先遍历和广度优先遍历
  7. Lock与synchronized测试区别
  8. opencv图像处理常用函数
  9. PMP-【第1章 引论】-2020-12-07(18页-24页)
  10. 2021揭东一中今年高考成绩查询入口,2021年揭阳高考状元是谁分数多少分,历年揭阳高考状元名单...