zoukankan      html  css  js  c++  java
  • Leetcode458.Poor Pigs可怜的小猪

    有1000只水桶,其中有且只有一桶装的含有毒药,其余装的都是水。它们从外观看起来都一样。如果小猪喝了毒药,它会在15分钟内死去。

    问题来了,如果需要你在一小时内,弄清楚哪只水桶含有毒药,你最少需要多少只猪?

    回答这个问题,并为下列的进阶问题编写一个通用算法。

    进阶:

    假设有 n 只水桶,猪饮水中毒后会在 m 分钟内死亡,你需要多少猪(x)就能在 p 分钟内找出“有毒”水桶?n只水桶里有且仅有一只有毒的桶。

    一次喝一个桶的,15分钟后没挂再喝第二桶,一小时60分钟内可以喝 60/15 = 4 次,如果有5桶水,那个只要喝前4桶就只能第5桶是否有毒。一只能验5桶,2只猪应该可以验5*5桶(一只负责行一只负责列)

    class Solution {
    public:
        int poorPigs(int buckets, int minutesToDie, int minutesToTest) {
            if(buckets <= 1)
                return 0;
            int k = (minutesToTest / minutesToDie) + 1;
            int cnt = 1;
            while(cnt <= buckets)
            {
                if(pow(k, cnt) >= buckets)
                    return cnt;
                cnt++;
            }
            return 0;
        }
    };

  • 相关阅读:
    文件包含漏洞
    任意文件上传
    改变弱口令威胁,从意识开始
    Node.js学习笔记10--Express搭网站(2)
    Node.js学习笔记9——Express框架
    Node.js学习笔记8
    Node.js学习笔记7-文件系统
    node.js学习笔记6
    node.js学习笔记5——核心模块1
    Node.js学习4
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10434079.html
Copyright © 2011-2022 走看看