Golang | Leetcode Golang题解之第458题可怜的小猪

题目:

题解:

Go 复制代码
func poorPigs(buckets, minutesToDie, minutesToTest int) int {
    if buckets == 1 {
        return 0
    }

    combinations := make([][]int, buckets+1)
    for i := range combinations {
        combinations[i] = make([]int, buckets+1)
    }
    combinations[0][0] = 1

    iterations := minutesToTest / minutesToDie
    f := make([][]int, buckets)
    for i := range f {
        f[i] = make([]int, iterations+1)
    }
    for i := 0; i < buckets; i++ {
        f[i][0] = 1
    }
    for j := 0; j <= iterations; j++ {
        f[0][j] = 1
    }

    for i := 1; i < buckets; i++ {
        combinations[i][0] = 1
        for j := 1; j < i; j++ {
            combinations[i][j] = combinations[i-1][j-1] + combinations[i-1][j]
        }
        combinations[i][i] = 1
        for j := 1; j <= iterations; j++ {
            for k := 0; k <= i; k++ {
                f[i][j] += f[k][j-1] * combinations[i][i-k]
            }
        }
        if f[i][iterations] >= buckets {
            return i
        }
    }
    return 0
}
相关推荐
懒是一种态度4 分钟前
Golang 调用 mongodb 的函数
数据库·mongodb·golang
XINGTECODE33 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
入 梦皆星河36 分钟前
在 Ubuntu/Debian 上安装 Go
ubuntu·golang·debian
alphaTao36 分钟前
LeetCode 每日一题 2024/11/18-2024/11/24
算法·leetcode
kitesxian1 小时前
Leetcode448. 找到所有数组中消失的数字(HOT100)+Leetcode139. 单词拆分(HOT100)
数据结构·算法·leetcode
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
jiao_mrswang2 小时前
leetcode-18-四数之和
算法·leetcode·职场和发展
王燕龙(大卫)3 小时前
leetcode 数组中第k个最大元素
算法·leetcode
Swift社区12 小时前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Dong雨13 小时前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展