题目描述

有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在 15 分钟内死去。
问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?
回答这个问题,并为下列的进阶问题编写一个通用算法。
进阶:
假设有 n 只水桶,猪饮水中毒后会在 m 分钟内死亡,你需要多少猪(x)就能在 p 分钟内找出 “有毒” 水桶?这 n 只水桶里有且仅有一只有毒的桶。
提示:
可以允许小猪同时饮用任意数量的桶中的水,并且该过程不需要时间。
小猪喝完水后,必须有 m 分钟的冷却时间。在这段时间里,只允许观察,而不允许继续饮水。
任何给定的桶都可以无限次采样(无限数量的猪)。

思路

详见链接

代码

import math
class Solution():def poorPigs(self,buckets:int,minutesToDie:int,minutesToTest) -> int:states = minutesToTest // minutesToDie + 1return math.ceil(math.log(buckets) / math.log(states))
test = Solution()
test.poorPigs(1000,15,60)

效果

LeetCode 458. 可怜的小猪(信息论方法)相关推荐

  1. 458. 可怜的小猪

    458. 可怜的小猪 有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断.不幸的是 ...

  2. 【LeetCode】﹝数学规律ி﹞第N位数字、可怜的小猪

    [LeetCode]﹝数学规律ி﹞第N位数字.可怜的小猪 文章目录 [LeetCode]﹝数学规律ி﹞第N位数字.可怜的小猪 乐团站位★ 罗马数字转整数★ 整数转罗马数字★★ 第 N 位数字★★ 数字 ...

  3. 力扣题458:可怜的小猪

    力扣题458:可怜的小猪 有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断.不幸 ...

  4. 【LeetCode系列】最长回文子串(双指针中心扩散)与可怜的小猪(老鼠毒药问题)

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[最长回文子串]和[可怜的小猪],展示语言java.

  5. LeetCode 458. Poor Pigs--智力题「小白鼠试毒」--C++,Python解法

    题目地址:Poor Pigs - LeetCode There are 1000 buckets, one and only one of them is poisonous, while the r ...

  6. leetcode买卖股票问题(思路、方法、code)

    一文解决Leetcode买卖股票问题 对于前3个问题,均采用了比较巧妙的解法.由于第4个问题具有非常强的泛型,因此采用了DP,第4个问题的dp如果理解的话,实际上只需要稍加修改状态便可以用该dp思路应 ...

  7. leetcode--458. 可怜的小猪

    题目描述: 有 buckets 桶液体,其中 正好有一桶 含有毒药,其余装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断.不幸的是,你只有 ...

  8. leetcode 91. Decode Ways | 91. 解码方法(动态规划)

    题目 https://leetcode.com/problems/decode-ways/ 题解 dp 问题,首先用模拟的办法试一下,理清楚状态转移关系. 当走到 i 位置时,i 有两种选择: i 不 ...

  9. 香农信息熵之可怜的小猪

    文章目录 题目 解析 香农熵公式 样例具体分析 代码 题目 有 n 桶液体,其其中 正好 有一桶含有毒药,其装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪 ...

最新文章

  1. shell中数值比较 字符串比较 文件判断 whle和for和until循环
  2. node 同步js代码-超越昨天的自己系列(5)
  3. java基础语法学习
  4. C/Cpp / STL / 类型萃取
  5. 秀啊,用Python快速开发在线数据库更新修改工具
  6. [转] sql server 跨数据库调用存储过程
  7. 没有共享存储和仲裁盘的SQL Server 2012HADR故障手动切换TSQL
  8. java filledrectangle_算法(第4版)-1.1.9 输入输出
  9. 百度地图API画多边型,测面积
  10. iptables禁止国外ip访问-脚本
  11. font-family 使用设置
  12. wold文档直接转html文件乱码,打开WORD文档,发现它全是乱码,有时会出现“文件转换”窗口,让您选择编码. 如何处理?...
  13. RPL源路由的IPv6路由头[RFC6554译文]
  14. SpaceDesk PC版+安卓版(安装包下载)
  15. 宫保虾球,酸甜微辣,一人就能干掉一盘
  16. css三种定位都脱离文档流了吗,CSS布局之脱离文档流详解——浮动、绝对定位脱离文档流的区别...
  17. 高恪智能流控怎么设置_磊科285G智能QoS与高恪K2P智能流控多用户对比评测(下, 多用户对比测试)...
  18. 使用selenium自动秒抢淘宝商品(附详细入门指南)
  19. 一张图把DCDC电源拓扑“融会贯通”
  20. 用mysql创建数据库school_Mysql 数据库创建基本步骤

热门文章

  1. 构建指定仓库_使用Travis CI自动构建和部署你的GitBook
  2. (二)Flask 学习 —— 模板
  3. linux 光纤网卡 软路由,请教关于配置双网卡软路由的问题
  4. 计算机硬件只能做维修吗,关于计算机硬件维修的研究
  5. 程序员在编程中遇到的奇葩弱智问题(转)
  6. 三维点云学习(4)6-ransac 地面分割
  7. oracle机票,全球机票分销系统
  8. Web Components系列(七) ——自定义组件的生命周期
  9. android点滴9:模拟器中如何输入中文
  10. python describe include_Python describe包_程序模块 - PyPI - Python中文网