当前位置: 首页 > article >正文

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

题目:

题解:

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
}

http://www.kler.cn/news/336081.html

相关文章:

  • P1387 最大正方形
  • Leetcode——数组:二分搜索法704.二分查找相似题目
  • 自动驾驶-问题笔记-待解决
  • Final Glory推出“荣耀勋章-神龙”,推动游戏叙事范式发展
  • 微信小程序处理交易投诉管理,支持多小程序
  • 【并发】ThreadLocalMap 解决 Hash 冲突的实现方式
  • 使用百度文心智能体创建多风格表情包设计助手
  • mmdetection实战,训练自己的数据集
  • ROS中显示标记教程
  • [C语言]指针和数组
  • 分层解耦-01.三层架构
  • 事件抽取(Event Extraction, EE)
  • Ajax和axios简单用法
  • Spring Boot:医院管理的数字化转型
  • 【Python】PDFMiner.six:高效处理PDF文档的Python工具
  • 【redis-05】redis保证和mysql数据一致性
  • 解决Python使用Selenium 时遇到网页 <body> 划不动的问题
  • C语言 | Leetcode C语言题解之第457题环形数组是否存在循环
  • 排查和解决JVM OOM实战
  • 视频美颜SDK与直播美颜工具API的架构设计与实现