2017-03-21 8 views
-1

Betrachten Sie eine binäre Zeichenfolge der Länge k, die genau m Nullen hat (und folglich die restlichen k-m Elemente "1" sind). Was ist die Gesamtzahl solcher Strings, die genau j Übergänge von Element Null zu Element eins haben? (j könnte eine beliebige Zahl zwischen 1 und 2 m sein). Zum Beispiel, wenn k = 5, m = 2 und j = 1 dann gibt es nur zwei solche Zeichenfolgen: 11100 und 00111. Wenn k = 5, m = 2 und j = 3 dann gibt es vier solche Zeichenfolgen: 10110, 01011, 11010 und 01101. Wenn k = 5, m = 2 und j = 4 dann gibt es nur eine solche Zeichenfolge: 10101.Kombinationen mit benachbarten Zahlen

Antwort

0

Hier ist ein Weg, es zu tun.

#Example 1 
k <- 5 
m <- 2 
j <- 1 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
8  1 1 1 0 0 
29 0 0 1 1 1 

#Example 2 
k <- 5 
m <- 2 
j <- 3 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
12 1 1 0 1 0 
14 1 0 1 1 0 
23 0 1 1 0 1 
27 0 1 0 1 1 

#Example 3 
k <- 5 
m <- 2 
j <- 4 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
22 1 0 1 0 1 
Verwandte Themen