西安网站制作sxyun,WordPress万级数据优化,网络推广公司简介,网页广告出价平台文章目录1. 题目2. 解题1. 题目
有一些不规则的硬币。在这些硬币中#xff0c;prob[i] 表示第 i 枚硬币正面朝上的概率。
请对每一枚硬币抛掷 一次#xff0c;然后返回正面朝上的硬币数等于 target 的概率。
示例 1#xff1a;
输入#xff1a;prob [0.4], target 1
输…
文章目录1. 题目2. 解题1. 题目
有一些不规则的硬币。在这些硬币中prob[i] 表示第 i 枚硬币正面朝上的概率。
请对每一枚硬币抛掷 一次然后返回正面朝上的硬币数等于 target 的概率。
示例 1
输入prob [0.4], target 1
输出0.40000示例 2
输入prob [0.5,0.5,0.5,0.5,0.5], target 0
输出0.03125提示
1 prob.length 1000
0 prob[i] 1
0 target prob.length
如果答案与标准答案的误差在 10^-5 内则被视为正确答案。来源力扣LeetCode 链接https://leetcode-cn.com/problems/toss-strange-coins 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。 2. 解题
dp[i][j]dp[i][j]dp[i][j] 表示 抛完第 i 枚后有 j 个朝上的概率
class Solution {
public:double probabilityOfHeads(vectordouble prob, int target) {int n prob.size(), i, j, k;vectorvectordouble dp(n1, vectordouble(target1, 0.0));dp[0][0] 1.0;//初始化for(i 0; i n; i)for(j 0; j min(i,target); j){dp[i1][j] dp[i][j]*(1-prob[i]);//下一枚是反面if(j1 target)dp[i1][j1] dp[i][j]*(prob[i]);//下一枚是正面}return dp[n][target];}
};124 ms 54.6 MB 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步