"837. New 21 Game" medium, accepted solution.
This commit is contained in:
@@ -394,18 +394,25 @@ func New21Game(n int, k int, maxPts int) float64 {
|
||||
return 1
|
||||
}
|
||||
|
||||
p := make([]float64, n+1)
|
||||
if n >= k+maxPts {
|
||||
return 1
|
||||
}
|
||||
|
||||
p := make([]float64, k+maxPts)
|
||||
m := float64(maxPts)
|
||||
|
||||
p[0] = 1
|
||||
p[1] = p[0] / m
|
||||
sum := 1.0
|
||||
|
||||
for i := 2; i <= k; i++ {
|
||||
p[i] = p[i-1] + p[i-1]/m
|
||||
}
|
||||
|
||||
for i := k + 1; i <= n; i++ {
|
||||
p[i] = p[i-1] + p[i-1]/m - p[i-k]
|
||||
for i := 1; i <= n; i++ {
|
||||
p[i] = sum / m
|
||||
sum += p[i]
|
||||
if i-maxPts >= 0 {
|
||||
sum -= p[i-maxPts]
|
||||
}
|
||||
if i >= k {
|
||||
sum -= p[i]
|
||||
}
|
||||
}
|
||||
|
||||
sumP := float64(0)
|
||||
|
||||
Reference in New Issue
Block a user